簡體   English   中英

多用戶RVM-使用sudo執行Ruby腳本時的gem路徑不同

[英]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 envsudo 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_DIRECTORYGEM PATHS不同,但是兩個輸出都表明RVM是“活動的”。 我自己的主目錄或root的主目錄中都沒有.rvm文件夾。 為什么RVM處理這些路徑的方式不同,我可以做到相同嗎? 使用rvmsudo似乎確實有效,但是我真的不想記住如果不需要的話,哪個管理腳本將在某個時候運行Ruby。

在正常運行和以“ sudo”運行時看到不同信息的原因是,使用sudo會繞過RVM而不是RVM中選擇的版本來調用系統ruby。 我自己遇到這個問題。

RVM 故障排除頁面建議改用rvmsudo,但同時也建議您不需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM