[英]Multi-User RVM - gem path different when using sudo to execute Ruby script
我已經在多用戶配置中安裝了RVM。 一切似乎正常,但是當我必須使用sudo
執行Ruby腳本時,gem安裝文件夾和路徑不同。 最終導致寶石無法用於腳本。
如果執行gem env
得到以下信息:
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-darwin14]
- INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.2.2
- RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.2.2/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.2.2/bin
- SPEC CACHE DIRECTORY: /Users/patrickaikens/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-14
- GEM PATHS:
- /usr/local/rvm/gems/ruby-2.2.2
- /usr/local/rvm/gems/ruby-2.2.2@global
...
如果執行sudo gem env
, sudo gem env
得到以下信息:
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-darwin14]
- INSTALLATION DIRECTORY: /usr/local/rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0
- RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.2.2/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/rvm/rubies/ruby-2.2.2/bin
- SPEC CACHE DIRECTORY: /Users/patrickaikens/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-14
- GEM PATHS:
- /usr/local/rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0
- /Users/patrickaikens/.gem/ruby/2.2.0
...
注意, INSTALLATION_DIRECTORY
和GEM PATHS
不同,但是兩個輸出都表明RVM是“活動的”。 我自己的主目錄或root的主目錄中都沒有.rvm
文件夾。 為什么RVM處理這些路徑的方式不同,我可以做到相同嗎? 使用rvmsudo
似乎確實有效,但是我真的不想記住如果不需要的話,哪個管理腳本將在某個時候運行Ruby。
在正常運行和以“ sudo”運行時看到不同信息的原因是,使用sudo會繞過RVM而不是RVM中選擇的版本來調用系統ruby。 我自己遇到這個問題。
RVM 故障排除頁面建議改用rvmsudo,但同時也建議您不需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.