Gem Path Issue: RubyGems ищет не в том месте - PullRequest
4 голосов
/ 14 сентября 2011

Когда мне требуются определенные драгоценные камни, некоторые из них работают, а некоторые не работают. Кажется, они установили find, и я могу сделать список драгоценных камней, и они там. Однако, когда я пытаюсь запустить их в Irb или запускать мои программы ruby ​​из терминала, я получаю следующее:

LoadError: no such file to load -- sanitize

/Library/Ruby/Site/1.8/rubygems/custom_require.rb:54:in `gem_original_require'

И вот я следовал руководству по RubyGems, и все, кажется, хорошо:

noahclark$ gem list sanitize
*** LOCAL GEMS ***
sanitize (2.0.3)


noahclark$ ruby -rubygems -e 'require "sanitize"'
noahclark$ 

noahclark$ which ruby
/opt/local/bin/ruby
noahclark$  gem env | grep 'RUBY EXECUTABLE'
- RUBY EXECUTABLE: /opt/local/bin/ruby

Итак, я попробовал:

noahclark$ which gem
/opt/local/bin/gem

noahclark$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
    - ruby
   - x86-darwin-10
 - GEM PATHS:
    - /opt/local/lib/ruby/gems/1.8
    - /Users/noahclark/.gem/ruby/1.8
 - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
 - REMOTE SOURCES:
    - http://rubygems.org/

Вы можете видеть, какие гемы и окружение гемов смотрят в две разные директории. Я искал исправление и нашел только то, что предлагало добавить экспорт PATH = $ PATH: / opt / local / bin / gem в мой файл .bashrc. Это не исправило это.

Как мне исправить это?

Ответы [ 2 ]

4 голосов
/ 14 сентября 2011

Исходя из пути в вашем сообщении об ошибке, ваш irb и приложения, вероятно, используют системный рубин по умолчанию.

Что показывает which irb?И какую командную строку вы используете для запуска своих приложений?

Возможно, вам придется настроить строку shebang (первая строка, которая начинается с "#!") Ваших скриптов, чтобы использовать / opt / local / bin /рубин.

3 голосов
/ 14 сентября 2011

Попробуйте добавить это к вашему .bashrc?

export PATH=/opt/local/bin/gem:$PATH

Это дает вашему новому пути драгоценного камня первую трещину, а не текущее, неправильное значение по умолчанию.

...