Вопрос

Может ли кто-нибудь помочь с странной проблемой с 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)

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top