質問

誰かが私が抱えている奇妙な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 ディレクトリまたは何か。

どちらも謎を解決できない場合は、ワーカースクリプトにデバッグコードを貼り付け、ロードパス( $:)を出力させて、どこを見ているかを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top