Fehler Referenzierung installierten Ruby-Gem
Frage
Kann mir jemand helfen mit einer ungeraden Ruby-Gem problem, das ich habe - note, die ich installiert habe, viele Edelsteine, die in der Vergangenheit noch nie gesehen.
Ich heruntergeladen habe die net-ssh-und net-sftp-Edelsteine mit den folgenden Befehlen:
sudo gem install net-ssh
sudo gem install net-sftp
beide erfolgreich installiert.Aber wenn ich mich auf die Dateien in meinem code erhalte ich die folgende Fehlermeldung:
./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/...]
Hinweis: wenn ich tun:
gem list --local
Die Edelsteine sind als solches aufgeführt:
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)
Irgendwelche Hinweise?
Lösung
Wenn ich sehe, diese Art der Sache, es kommt in der Regel nach unten zu mehr als einem Rubin auf der Maschine installiert ist (was bedeutet, mehr als ein Schmuckstück Lage, etc.), und verschiedenen apps oder Umgebungen immer verwirrt über die man zu laden.
Check für die erste.Wenn das nicht die Antwort ist, machen Sie eine gem which net/ssh
um zu sehen, wo RubyGems glaubt, den Edelstein installiert ist -- stellen Sie sicher, es ist nicht des lokalen Benutzers .Edelsteine Verzeichnis oder so etwas.
Wenn weder das eine löst das Geheimnis, stick einige debugging-code in Ihrem worker-Skript und habe es-Ausgang der load-path ($: so können Sie sehen, wo es suchen.