2010-03-06 85 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。