Ruby Gems 返回“未找到命令”

问题描述 投票:0回答:4

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 目录都在路径上,所以为什么它找不到命令?

ruby rubygems
4个回答
36
投票

您的

$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 时都手动设置它。


14
投票

(只是盗用@约翰·富兰克林的评论)

$ gem environment

会告诉你

EXECUTABLE DIRECTORY
。然后将该值放入您的 PATH 中(在您的 .bashrc 或其他 shell 配置文件中)。

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

重新加载你的 shell,然后你应该能够使用安装的 gem。


3
投票

如果您使用 RVM(大多数使用),那么它会为您处理这个问题。事实上,直接将其放在您的路径中可能会发生冲突。不过你必须设置一个红宝石才能使用。在命令行上运行其中之一。

rvm use 1.9.3

rvm use --default 1.9.3

0
投票

在 Ventura 13.6.1 中,它有效,

添加

export PATH="/usr/local/lib/ruby/gems/3.3.0/bin:$PATH"

.zshrc
文件中

  • 3.3.0是你的gem版本
© www.soinside.com 2019 - 2024. All rights reserved.