ZenTest需要RubyGems版本〜> 1.8

时间:2011-11-18 12:00:53

标签: ruby ubuntu inline

我正在尝试在某些Ubuntu服务器上安装RubyInline:

sudo gem1.9.1 install RubyInline
ERROR:  Error installing RubyInline:
        ZenTest requires RubyGems version ~> 1.8


sudo ruby --version
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-linux]

此错误的原因是什么?我对1.8引用感到困惑。这应该都是Ruby1.9.1。如何解决这个问题?

4 个答案:

答案 0 :(得分:6)

~> 1.8表示“任何版本的RubyGems,只要它是1.8或更高,但小于2.0”。因此1.8.01.8.111.8.1001.9都匹配,但您所拥有的版本不匹配。

1.9.1命令中的gem并不意味着RubyGems的版本是1.9.1,而是它是Ruby 1.9.1安装附带的版本。要找出您拥有的RubyGems版本,请运行gem1.9.1 --version

要解决此问题,您可以升级Rubygems,或者通过运行sudo gem1.9.1 install ZenTest --version "< 4.6"安装与您拥有的Rubygems版本兼容的ZenTest版本(假设ZenTest 4.5与您的RubyGems兼容)

答案 1 :(得分:4)

简短的回答是

gem update --system

对于长篇答案,请参阅上面的密码帖子。

答案 2 :(得分:1)

来自Bundler Documentation

  

说明符〜&gt;具有特殊意义,通过实例最佳显示。 〜&GT; 2.0.3与&gt; = 2.0.3相同且&lt; 2.1。

所以&#34;〜&gt; 1.8&#34; reference是指任何版本的RubyGems&lt; 1.9。

一种可能的解决方案是在没有RubyInline的情况下编写扩展名:
    how-to-create-a-ruby-extension-in-c-in-under-5-minutes

答案 3 :(得分:0)

bundle update

对我有帮助,它将ZenTest从4.6.2更新为4.11.1