Ruby 1.9.2向后兼容1.8.7?

时间:2010-09-13 14:18:32

标签: ruby rubygems rvm

我正在使用Ruby 1.9.2(Yarv)。

当我安装宝石时,我只使用“gem install”。

我怎么知道他们写的是哪个Ruby版本:1.8.7,1.9.1或1.9.2?

如果我使用的是最新版本并且我安装了一个用1.8.7编写的gem,那么这个gem不起作用?

EG。 Yardstick gem似乎不适用于1.9.2但完全符合1.8.7。

如何查看每个宝石使用的版本?

有人可以为我启发这个主题。

2 个答案:

答案 0 :(得分:2)

不幸的是,没有明确的方法可以检查是否存在如此多的版本和变体或Ruby解释器(Ruby,JRuby,Iron Ruby)和系统平台。另外一个纯Ruby的gem可能无法在具有相同interpereter verson的所有平台上运行,因为可以使用某些特定于OS的属性。

所以你必须相信他/她提供的autor或docs。确保你的平台适合宝石的另一种方法是运行封装到gem的测试 - 每个写得好的宝石都应该有这样的。

还有一个小提示:如果文件包含

# -*- encoding: utf-8 -*-

然后autor可能开发了1.9.x的宝石。

答案 1 :(得分:1)

有一个网站可以回答这个问题:“它是Ruby 1.9吗?”

http://isitruby19.com/

看起来没有人报道过Yardstick: http://isitruby19.com/yardstick

你可能是第一个,并报告它在1.9中被打破。