Ошибка ссылки на установленный Ruby Gem - PullRequest
3 голосов
/ 26 октября 2009

Может ли кто-нибудь помочь мне с странной проблемой с Ruby Gem - заметьте, я установил много драгоценных камней в прошлом и никогда не видел этого.

Я скачал гемы net-ssh и net-sftp, используя следующие команды:

sudo gem install net-ssh
sudo gem install net-sftp

оба успешно установлены. Однако, когда я ссылаюсь на файлы в моем коде, я получаю следующую ошибку:

./workers/ffmpeg_worker.rb:6:in `require': no such file to load -- net/ssh (LoadError)
    from ./workers/ffmpeg_worker.rb:6
    from ./workers/tests/test_ffmpeg_worker.rb:3:in `require'
    from ./workers/tests/test_ffmpeg_worker.rb:3
    from /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load'
    from /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
    from /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each'
    from /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
rake aborted!
Command failed with status (1): [/System/Library/Frameworks/Ruby.framework/...]

Обратите внимание, когда я делаю:

gem list --local

Драгоценные камни перечислены как таковые:

net-scp (1.0.2)
net-sftp (2.0.2, 1.1.0)
net-ssh (2.0.15, 1.1.2)
net-ssh-gateway (1.0.1)

Есть какие-нибудь подсказки?

1 Ответ

3 голосов
/ 28 октября 2009

Когда я вижу подобные вещи, это обычно сводится к тому, что на машине установлено более одного Ruby (что означает более одного местоположения драгоценного камня и т. Д.), И разные приложения или среды запутываются в том, какой из них загружать. ,

Сначала проверьте это. Если это не ответ, выполните gem which net/ssh, чтобы увидеть, где RubyGems считает, что гем установлен - убедитесь, что это не каталог .gems локального пользователя или что-то еще.

Если ни один из них не разгадывает тайну, вставьте некоторый отладочный код в рабочий скрипт и попросите его вывести путь загрузки ( $: ), чтобы вы могли видеть, куда он смотрит.

...