gpt4 book ai didi

ruby - 多用户 RVM - 使用 sudo 执行 Ruby 脚本时 gem 路径不同

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:22 24 4
gpt4 key购买 nike

我已经在多用户配置中安装了 RVM。一切似乎都正常,但是当我必须使用 sudo 来执行 Ruby 脚本时,gem 安装文件夹和路径不同。这最终会导致脚本无法使用 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,我会得到这个:

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 会调用系统 ruby​​,绕过 RVM,而不是在 RVM 中选择的版本。我自己也有这个问题。

RVM troubleshooting page建议改用 rvmsudo,但也建议您不需要。

关于ruby - 多用户 RVM - 使用 sudo 执行 Ruby 脚本时 gem 路径不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com