我正在尝试在某个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。如何解决这个问题?
发布于 2011-11-18 21:14:27
~> 1.8的意思是“任何版本的RubyGems,只要它是1.8或更高,但小于2.0”。因此,1.8.0、1.8.11、1.8.100或1.9都匹配,但您拥有的版本不匹配。
gem命令中的1.9.1并不意味着RubyGems的版本是1.9.1,而是Ruby1.9.1安装时附带的版本。要找出您使用的是什么版本的RubyGems,请运行gem1.9.1 --version。
要解决这个问题,您可以升级Rubygems,或者通过运行ZenTest (假设ZenTest 4.5与您的Rubygems兼容)来安装与您已有的RubyGems版本兼容的sudo gem1.9.1 install ZenTest --version "< 4.6"版本
发布于 2011-11-18 23:46:16
简短的答案是run
gem update --system有关详细答案,请参阅上面cypher的帖子。
发布于 2011-11-19 00:15:16
从Bundler Documentation
说明符~>有一个特殊的含义,最好通过示例来说明。~> 2.0.3与>= 2.0.3和低于2.1的版本相同。
因此,"~> 1.8“引用指的是任何版本的RubyGems小于1.9。
一种可能的解决方案是不使用RubyInline编写扩展:
how-to-create-a-ruby-extension-in-c-in-under-5-minutes
https://stackoverflow.com/questions/8182085
复制相似问题