在Rubygems期望之前,Gem版本出现问题

时间:2013-03-27 20:59:19

标签: ruby rubygems

我似乎对我使用的gem版本有问题。 我没有互联网访问权限,我直接从Rubyforge下载了宝石,然后将其转到目标机器,我使用gem install --force --local进行安装。 Ruby / Rubygems来自大约一个月前拍摄的EPEL回购的快照。它托管在网络中的计算机上,并通过网络配置YUM以指向正确的位置。

我正在尝试使用Net :: SSH系列的宝石(Net:SSH,Net :: SSH :: Shell,Net :: SSH :: Multi,Net :: SSH :: Gateway,Net :: SCP) 。当我运行file.rb时,我得到了这个:

/usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': RubyGem version error: net-ssh(2.6.6 not ~> 2.1.0) (Gem::LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:249:in `activate' 
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `each'
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
        from ./cluster_config.rb:12

我在互联网上看到很多关于实际版本低于预期版本的问题,但我只发现了实际版本比预期版本更新的示例,但它已经“解决”了OP的回答说:“我的朋友得到了,谢谢。”

这也是我第一次看到~>运算符。通常我在这里见过>=运算符。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在Gemfiles中使用

~>以允许使用其补丁版本大于或等于指定版本的gem,前提是主要版本和次要版本相同。例如:

~> 2.1.0将允许版本2.1.9,但不允许2.2.02.0.0

~> 2.1.3也允许2.1.9但不允许2.1.02.2.0

此外,您可以直接从RubyGems下载所需的确切版本。在您的情况下,链接将是http://rubygems.org/downloads/net-ssh-2.1.0.gem