我在摆弄 rubygems 和 rvm,它工作得很好,但现在当我尝试安装 gem 时出现错误
gem install railsERROR: While executing gem ... (Errno::EACCES) Permission denied - /Users/da/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.11/.gitignore
当我执行 sudo 时它会起作用,但我以前从来不需要这样做来安装 gem。
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-darwin10.7.0]
- INSTALLATION DIRECTORY: /Users/da/.rvm/gems/ruby-1.9.2-p180
- RUBY EXECUTABLE: /Users/da/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
- EXECUTABLE DIRECTORY: /Users/da/.rvm/gems/ruby-1.9.2-p180/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-10
- GEM PATHS:
- /Users/da/.rvm/gems/ruby-1.9.2-p180
- /Users/da/.rvm/gems/ruby-1.9.2-p180@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
$ sudo gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-darwin10.7.0]
- INSTALLATION DIRECTORY: /Users/da/.rvm/gems/ruby-1.9.2-p180
- RUBY EXECUTABLE: /Users/danest/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
- EXECUTABLE DIRECTORY: /Users/da/.rvm/gems/ruby-1.9.2-p180/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-10
- GEM PATHS:
- /Users/da/.rvm/gems/ruby-1.9.2-p180
- /Users/da/.rvm/gems/ruby-1.9.2-p180@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
最佳答案
看起来您已经将 root 用户设置为使用位于您的主文件夹中的 rvm install。这意味着当您使用 sudo 安装 gem 时,文件将属于 root。因此,当您尝试安装 gem 时,您会遇到权限错误。
要修复,您需要将 rvm 文件夹返回给您(我假设,根据您的文件路径,您的用户名在这里是“da”)...
sudo chown -R da:da /Users/da/.rvm
为了避免将来发生这种情况,我建议将 root 的路径设置为其自己安装的 rvm 或系统 gems。
关于ruby-on-rails - rvm gem 安装错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583422/