Ruby Gems возвращает команду, не найденную

Убунту 9.10

Только что установил ньюгем

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/

Мне не нравятся пути и т. Д., Но все каталоги драгоценных камней, перечисленные выше, находятся на пути, так почему же он не может найти команду?


person robodisco    schedule 06.03.2010    source источник


Ответы (3)


Ваша переменная $PATH должна включать точный путь к каталогу bin вашего Ruby. Добавление каталога в 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.

person rubiii    schedule 06.03.2010
comment
ааа, я предполагал, что если я добавлю /adam/.gem/ к пути, то его подкаталоги также будут автоматически искать. тупой с моей стороны. Спасибо за это - person robodisco; 06.03.2010
comment
Обратите внимание, что в некоторых версиях Ubuntu путь к корзине 1.8 gem можно найти в /var/lib/gems/1.8/bin. Эта команда также удобна для добавления пути sudo в ваш профиль bash echo -e '\nexport PATH=$PATH:/var/lib/gems/1.8/bin' ››~/.bashrc - person jdev; 14.03.2012
comment
Вы можете найти точный патч, запустив среду gem. EXECUTABLE DIRECTORY — это строка, которая вам нужна. - person John Franklin; 26.06.2012

(Просто украл комментарий @John Franklin)

$ gem environment

Расскажу вам EXECUTABLE DIRECTORY. Затем поместите это значение в свой PATH, например, так (в ваш .bashrc или другой файл конфигурации оболочки).

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

Перезагрузите оболочку, и тогда вы сможете использовать установленный гем.

person Niels Bom    schedule 03.04.2017
comment
В конце концов! Спасибо за кражу :) - person Uriel Frankel; 13.05.2020

Если вы используете RVM (большинство так и делает), то он позаботится об этом за вас. На самом деле, размещение его прямо на вашем пути может привести к конфликту. Однако вы должны установить рубин для использования. Запустите один из них в командной строке.

rvm use 1.9.3

or

rvm use --default 1.9.3
person vish    schedule 09.07.2013