2010-03-06 84 views
12

的Ubuntu 9.10紅寶石寶石返回 「命令未找到」

剛裝newgem

gem install newgem 

,當我嘗試

newgem new_project 

我得到

[email protected]:~$ newgem newproject 
newgem: command not found 

伊夫檢查了我路徑通過echo $ PATH

[email protected]:~$ echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/adam/.gem 

和我的寶石環境

[email protected]:~$ gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.6 
    - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /usr/bin/ruby1.8 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /usr/lib/ruby/gems/1.8 
    - /home/adam/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

我不是與路徑等,但所有的寶石熱目錄上面所列的道路上那爲什麼它無法找到該命令?

回答

26

您的$PATH變量需要包含Ruby的bin目錄的確切路徑。將目錄添加到PATH不包括它的子文件夾。嘗試通過添加bin目錄:

export PATH=$PATH:/home/adam/.gem/ruby/1.8/bin 

,或者如果您安裝使用sudo寶石:

export PATH=$PATH:/usr/lib/ruby/gems/1.8/bin 

您可能要添加到您的.bashrc文件,這樣你就不必設置這個手動每次你打開一個新的bash。

+0

啊我假設如果我添加/adam/.gem/到路徑,那麼它的子目錄也會自動搜索。我愚蠢。 感謝那 – robodisco 2010-03-06 14:58:52

+5

請注意,在某些版本的Ubuntu上,1.8 gem bin路徑可以在*/var/lib/gems/1.8/bin *找到。這個命令也可以方便地將sudo路徑添加到bash配置文件* echo -e'\ nexport PATH = $ PATH:/var/lib/gems/1.8/bin'>>〜/ .bashrc * – jdev 2012-03-13 20:28:06

+2

您可以找到準確的運行「寶石環境」補丁。可執行目錄是你需要的行。 – 2012-06-25 20:15:54

1

如果你使用RVM(大多數),那麼它會爲你照顧這個。事實上,將它直接放在你的路上可能會發生衝突。你必須設置一個紅寶石才能使用。在命令行上運行其中的一個。

rvm use 1.9.3 

rvm use --default 1.9.3 
0

(只是偷@約翰富蘭克林的評論)

$ gem environment 

會告訴你​​。然後把這個值放在你的PATH中(像.bashrc或其他shell配置文件中)。

export PATH="$PATH:/path/to/bin" 

重新加載你的shell,然後你應該能夠使用已安裝的gem。