Ubuntu 9.10
刚刚安装了newgem
gem install newgem
当我尝试
时newgem new_project
我得到了
adam@adam-ubuntu:~$ newgem newproject
newgem: command not found
我通过echo $ PATH
检查了我的路径adam@adam-ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/adam/.gem
和我的宝石环境
adam@adam-ubuntu:~$ 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/
我对路径等不热,但上面列出的所有宝石目录都在路径上,那怎么来找不到命令?
答案 0 :(得分:28)
您的$PATH
变量需要包含Ruby的bin目录的确切路径。将目录添加到PATH
不包含它的子文件夹。尝试通过以下方式添加bin目录:
export PATH=$PATH:/home/adam/.gem/ruby/1.8/bin
或者如果您使用sudo
安装了gem:
export PATH=$PATH:/usr/lib/ruby/gems/1.8/bin
您可能希望将其添加到.bashrc
文件中,这样您就不必每次打开新的bash时都手动设置。
答案 1 :(得分:1)
如果您使用RVM(大部分都是),那么它将为您解决此问题。实际上直接将它放在你的路径上可能会发生冲突。你必须设置一个ruby来使用。在命令行上运行其中一个。
rvm use 1.9.3
或
rvm use --default 1.9.3
答案 2 :(得分:1)
(只是偷了@John Franklin的评论)
$ gem environment
会告诉你EXECUTABLE DIRECTORY
。然后把你的PATH中的任何值放在那里(在你的.bashrc或其他shell配置文件中)。
export PATH="$PATH:/path/to/bin"
重新加载你的shell,然后你应该可以使用已安装的gem。