Erreur de référencement de Ruby Gem installé
Question
Quelqu'un peut-il m'aider à résoudre un problème étrange que je rencontre avec Ruby Gem? Notez que j'ai déjà installé de nombreux joyaux dans le passé et que je n'ai jamais vu cela.
J'ai téléchargé les gems net-ssh et net-sftp à l'aide des commandes suivantes:
sudo gem install net-ssh
sudo gem install net-sftp
les deux installés avec succès. Cependant, lorsque je fais référence aux fichiers de mon code, le message d'erreur suivant s'affiche:
./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/...]
Notez quand je le fais:
gem list --local
Les gemmes sont répertoriées comme telles:
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)
Des indices?
La solution
Quand je vois ce genre de chose, il faut généralement avoir plus d'un Ruby installé sur la machine (ce qui signifie plus d'un emplacement de gemme, etc.), ainsi que différentes applications ou environnements ne sachant pas lequel charger. .
Vérifiez cela en premier. Si ce n'est pas la solution, faites un joyau par net / ssh
pour voir où RubyGems pense que le joyau est installé - assurez-vous que ce n'est pas l'utilisateur .gems répertoire ou quelque chose.
Si aucun des deux ne résout le mystère, collez du code de débogage dans votre script de travail et indiquez-le à son chemin de chargement ( $: ) afin que vous puissiez voir où il se trouve.