2010-09-13 85 views
1

我在使用Ruby 1.9.2(Yarv)。Ruby 1.9.2是否向后兼容1.8.7?

当我安装宝石,我只是使用“宝石安装”。

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

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

例如,尺码宝石似乎不适用于1.9.2,但与1.8.7完美配合。

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

有人能为我启发这个话题。

回答

1

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

http://isitruby19.com/

它看起来并不像有人已经报道尺度尚未: http://isitruby19.com/yardstick

你可能是第一位的,报告说,它在1.9打破。

+0

还有另一个网站。你知道我说的是哪一个吗? – 2010-09-13 20:32:48

+0

您是否想过ru​​bygems.org,以前是a.k.a. gemcutter.org? – 2010-09-13 20:36:57

+0

railsplugins.org? – 2010-09-13 23:40:15

2

不幸的是,没有确定的方法来检查,因为有这么多的版本和变体或Ruby解释器(Ruby,JRuby,Iron Ruby)和系统平台。另外一个纯Ruby的gem可能无法在所有平台上使用相同的interpereter verson,因为可以使用某些操作系统特定的属性。

因此,您必须信任他/她提供的作者或文档。另一种确保你的平台适合创业板的方法就是将测试内容附在创业板上 - 每篇写得好的创业板都应该有这样的内容。

也有小技巧:如果文件中包含

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

然后作者日期可能发展时考虑到1.9.x的宝石。

+0

文件也可能包含'#encoding:utf-8'字符串。 – 2010-09-13 20:02:37

+0

实际上它可能是“encoding:utf8”(没有连字符) – fijiaaron 2012-09-12 16:21:20