2012-01-30 44 views
4

我記得我曾經gem install rails安裝Rails,但今天當我想安裝其他的寶石,通過鍵入爲什麼「寶石」和「sudo寶石」有不同的安裝目錄?

gem install ruby-recaptcha 

失敗的話,他說:

您沒有寫權限到...

然後我發現我的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/[email protected] 
    - 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時,寶石沒有安裝到正確的位置。我怎樣才能解決這個問題?

+0

你怎麼安裝RVM?這樣做時你使用過'sudo'嗎? – 2012-01-30 18:22:48

+0

我想安裝RVM的時候我沒有使用sudo ......一切順利,然後,但我不知道爲什麼突然需要的權限.... – HanXu 2012-01-31 01:26:54

+0

的方式。在/Users/hx/.rvm/...how創業板夾我需要的權限?? ..有沒有辦法更改該文件夾的權限要求? – HanXu 2012-01-31 01:39:51

回答

4

RVM使用環境變量來配置的RubyGems - 的gem命令,基本上如果你有用戶安裝(~/.rvm)你不應該需要使用調用的任何命令與sudo,尤其是gem - 如果工作將安裝導軌爲root用戶在您的主目錄中,使您無法管理您的文件...如果您有任何充足的理由使用sudo - 請使用rvmsudo代替 - 但實際上您不應該有這種需求,特別是安裝寶石。

如果你想在你的系統中可用的一些命令(如gist),您可以使用rvm wrapper和鏈接生成的二進制在/usr/bin

解決您家中的權限:

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

yes..I用它chmod命令更改權限....但我仍然好奇,爲什麼我突然失去了permission..ok ......沒關係...... THX !!!! – HanXu 2012-02-02 03:26:36