gpt4 book ai didi

gem - 为什么 "gem"和 "sudo gem"的安装目录不同?

转载 作者:行者123 更新时间:2023-12-04 22:34:34 29 4
gpt4 key购买 nike

我记得我用过 gem install rails安装 Rails,但今天当我想安装另一个 gem 时,输入

gem install ruby-recaptcha

它失败了,说:

You don't have write permissions into the ...



然后我找到了我的 gem environmentsudo gem environment有不同的结果:

对于 gem environment :
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.15
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.0.1]
- INSTALLATION DIRECTORY: /Users/hx/.rvm/gems/ruby-1.9.2-p290
- RUBY EXECUTABLE: /Users/hx/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/hx/.rvm/gems/ruby-1.9.2-p290/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/hx/.rvm/gems/ruby-1.9.2-p290
- /Users/hx/.rvm/gems/ruby-1.9.2-p290@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :gempath => ["/Users/hx/.rvm/gems/ruby-1.9.2-p290"]
- :sources => ["http://rubygems.org/"]
- REMOTE SOURCES:
- http://rubygems.org/

对于 sudo gem environment :
  - RUBYGEMS VERSION: 1.8.15
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.0.1]
- INSTALLATION DIRECTORY: /Users/hx/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /Users/hx/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/hx/.rvm/rubies/ruby-1.9.2-p290/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/hx/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1
- /Users/hx/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :gempath => ["/Users/hx/.rvm/gems/ruby-1.9.2-p290"]
- :sources => ["http://rubygems.org/"]
- REMOTE SOURCES:
- http://rubygems.org/

注意安装目录不同。所以当我使用 gem ,我没有权限(不知道为什么突然失去了权限)。但是当我使用 sudo gem , gem 没有安装到正确的位置。我怎样才能解决这个问题?

最佳答案

RVM 使用环境变量来配置 ruby​​gems - gem命令,基本上如果您有用户安装( ~/.rvm ),则不需要使用 sudo 调用任何命令, 特别是 gem - 如果工作,将安装导轨为 root用户在您的主目录中,使您无法管理您的文件...如果您有充分的理由使用 sudo - 使用 rvmsudo相反 - 但实际上你不应该有这种需求,尤其是安装 gems。

如果你想在你的系统中使用一些命令(比如 gist ),你可以使用 rvm wrapper并在 /usr/bin 中链接生成的二进制文件

修复您家中的权限:

sudo chown $USER: ~/.rvm
sudo chmod u+rw ~/.rvm

关于gem - 为什么 "gem"和 "sudo gem"的安装目录不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065496/

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