インストールされたRuby Gemの参照エラー
質問
誰かが私が抱えている奇妙なRuby Gemの問題を手伝うことができます-過去に多くのgemをインストールしており、これを見たことがないことに注意してください。
次のコマンドを使用してnet-sshおよびnet-sftp gemをダウンロードしました:
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の場所などを意味します)、どのアプリまたは環境を読み込むかについて混乱するさまざまなアプリまたは環境になります。
最初に確認してください。それが答えでない場合は、 gem which net / ssh
を実行して、RubyGemsがgemがインストールされていると考えている場所を確認します-ローカルユーザーの .gems ディレクトリまたは何か。
どちらも謎を解決できない場合は、ワーカースクリプトにデバッグコードを貼り付け、ロードパス( $:)を出力させて、どこを見ているかを確認します。
所属していません StackOverflow