【问题标题】:rvm gem install error?rvm gem 安装错误?
【发布时间】:2025-11-23 15:15:02
【问题描述】:

我在搞乱 ruby​​gems 和 rvm,它工作得非常好,但现在当我尝试安装 gem 时,我得到一个错误

gem install railsERROR: While 执行 gem ... (Errno::EACCES) 权限被拒绝 - /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/

【问题讨论】:

  • 我更新了我的 ruby​​gems 但仍然遇到同样的错误。

标签: ruby-on-rails ruby rvm


【解决方案1】:

您似乎已将 root 用户设置为使用您的主文件夹中的 rvm 安装。这意味着当您使用 sudo 安装 gem 时,这些文件将属于 root。因此,当您尝试安装 gem 时,您会遇到权限错误。

要修复,您需要将 rvm 文件夹归还给您(我假设,从您的文件路径来看,您的用户名在这里是“da”)...

sudo chown -R da:da /Users/da/.rvm

为避免将来发生这种情况,我建议将 root 的路径设置为它自己安装的 rvm 或系统 gem。

【讨论】:

  • “da”是您的用户名吗?它需要更改为您的用户名(如果您不确定,可以运行whoami)...
  • 我做了sudo chown -R da:admin /Users/da/.rvm,这让它工作了。
  • 我也必须做 da:admin -- idlefingers,你是这个意思吗?