#/home/user/a/test.rb
`/home/user/b/test.rb` # not found b's gems
在/ test.rb(由用户运行)中运行b / test.rb时无法找到b的宝石,并且直接在/ home / user / b下运行test.rb就可以了。
#/home/user/a/test.rb
`sudo -u user /home/user/b/test.rb` # it's OK
如果使用sudo -u user
运行,则可以。
如何找到b&#39的宝石并运行它,除了sudo -u user
答案 0 :(得分:1)
我怀疑您正在寻找Bundler.with_clean_env
:
#/home/user/a/test.rb
Bundler.with_clean_env do
# this assumes b/test.rb sets up Bundler itself
`/home/user/b/test.rb`
end
还有clean_exec
和clean_system
包裹system
和exec
,在这种情况下可能更简单(因为你不使用反引号的结果) ):
Bundler.clean_system '/home/user/b/test.rb'
答案 1 :(得分:0)
您需要在终端中运行:
sudo gem list
并运行:
gem list
查看两个宝石列表