ошибка установки гема rvm? - PullRequest
7 голосов
/ 07 апреля 2011

Я возился с rubygems и rvm, и он работал совершенно нормально, но теперь, когда я пытаюсь установить гем, я получаю сообщение об ошибке

gem install railsERROR: При выполнении гем ... (Errno :: EACCES) Отказано в доступе - /Users/da/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.11/.gitignore

Это работает, когда я делаюСудо, но мне никогда не приходилось делать это раньше, чтобы установить драгоценный камень.

$ 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/

1 Ответ

30 голосов
/ 07 апреля 2011

Похоже, вы настроили пользователя root на установку rvm, которая находится в вашей домашней папке. Это означает, что когда вы устанавливаете гем с помощью sudo, файлы будут принадлежать пользователю root. Поэтому, когда вы пытаетесь установить гем как вы, вы получаете ошибки разрешения.

Чтобы исправить, вам нужно вернуть обратно папку rvm (я предполагаю, из ваших путей к файлам, что ваше имя пользователя здесь 'da') ...

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

Чтобы не допустить этого в будущем, я бы рекомендовал установить для пути root либо собственную установку rvm, либо системные гемы.

...