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/
我对路径等不感兴趣,但上面列出的所有 gem 目录都在路径上,所以为什么它找不到命令?
您的
$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 时都手动设置它。
(只是盗用@约翰·富兰克林的评论)
$ gem environment
会告诉你
EXECUTABLE DIRECTORY
。然后将该值放入您的 PATH 中(在您的 .bashrc 或其他 shell 配置文件中)。
export PATH="$PATH:/path/to/bin"
重新加载你的 shell,然后你应该能够使用安装的 gem。
如果您使用 RVM(大多数使用),那么它会为您处理这个问题。事实上,直接将其放在您的路径中可能会发生冲突。不过你必须设置一个红宝石才能使用。在命令行上运行其中之一。
rvm use 1.9.3
或
rvm use --default 1.9.3
在 Ventura 13.6.1 中,它有效,
添加
export PATH="/usr/local/lib/ruby/gems/3.3.0/bin:$PATH"
在
.zshrc
文件中