【问题标题】:Error referencing installed Ruby Gem引用已安装的 Ruby Gem 时出错
【发布时间】:2010-12-10 00:03:07
【问题描述】:

任何人都可以帮助解决我遇到的一个奇怪的 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 ssh rubygems sftp


【解决方案1】:

当我看到这类事情时,通常归结为在机器上安装了多个 Ruby(这意味着多个 gem 位置等),并且不同的应用程序或环境对加载哪个感到困惑.

先检查一下。如果这不是答案,请发送gem which net/ssh 以查看 RubyGems 认为 gem 的安装位置——确保它不是本地用户的 .gems 目录或其他目录。

如果两者都没有解开谜团,请将一些调试代码粘贴到您的工作脚本中,并让它输出其加载路径 ($:),这样您就可以看到它在寻找什么。

【讨论】:

  • 谢谢,我会尝试一下 - 但它似乎可以通过定义 RUBYOPT 来解决,如另一个问题中所述。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多