1

我正在使用 Ruby 1.9.2 (Yarv)。

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

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

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

例如。Yardstick gem 似乎不适用于 1.9.2,但完美适用于 1.8.7。

您如何检查每个 gem 使用的版本?

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

4

2 回答 2

2

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

因此,您必须信任他/她提供的作者或文档。另一种确保您的平台适合 gem 的方法只是运行 gem 附带的测试 - 每个编写良好的 gem 都应该有这样的。

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

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

那么 autor 可能会在考虑 1.9.x 的情况下开发 gem。

于 2010-09-13T14:33:02.680 回答
1

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

http://isitruby19.com/

看起来还没有人在 Yardstick 上进行过报道:http: //isitruby19.com/yardstick

您可能是第一个,并报告它在 1.9 中已损坏。

于 2010-09-13T19:59:30.810 回答