2011-04-07 229 views
7

我瞎搞與RubyGems的和RVM和它的工作完全正常,但現在,當我嘗試安裝一塊寶石,我得到一個錯誤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

當我做須藤它的工作原理,但我從來沒有這樣做之前安裝一個寶石。

$ 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/[email protected] 
    - 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/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 
+0

我更新了我的rubygems,但仍然收到相同的錯誤。 – Kevin 2011-04-07 15:22:29

回答

30

看起來您已將root用戶設置爲使用位於您的主文件夾中的rvm install。這意味着當您使用sudo安裝gem時,這些文件將屬於根目錄。所以,當你嘗試安裝一個寶石時,你會得到許可錯誤。

要解決,你需要chown將此文件夾RVM還給你(我假設,從你的文件路徑,您的用戶名是「達」在這裏)...

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

爲了避免這種情況在將來會發生,我建議設置root的路徑爲自己安裝的rvm或系統寶石。

+1

我剛剛試過這個,我得到了'chown:da:無效參數' – Kevin 2011-04-07 15:36:07

+0

'da'是你的用戶名嗎?它需要改變,無論你的用戶名是什麼(如果你不確定你可以運行'whoami')... – idlefingers 2011-04-07 16:53:24

+5

我做了'sudo chown -R da:admin/Users/da/.rvm',這使它工作。 – Kevin 2011-04-07 17:19:57