获取 Ruby 中 Gem 的版本

5
有没有一种方法可以在Ruby中要求一个gem并获取该gem的版本号?

这不是链接问题的重复;这个问题询问获取已加载 gem 版本的方式,而链接问题询问如何查询系统上安装的 gem 的版本。它们是非常不同的事情。 - womble
他们只是在这里给出了不符合代码规范的答案,但两个问题都在问同一件事情,所以我认为这是一个重复问题,即使那些答案被错误地投票了。 - Smar
2个回答

15

你可以尝试一下

Gem.loaded_specs[$NAME_OF_GEM].version

1
总的来说:RubyGems实际上是一个Ruby库。gem命令行程序实际上只是该库的一个非常薄的包装器。您可以使用gem命令执行的所有操作(以及更多),也可以使用RubyGems库执行。唯一的问题是文档,尽管代码本身经过了充分测试并且大部分写得很好,因此有时可以作为文档的替代品。 - Jörg W Mittag
我发现,为了使这个工作正常,你需要至少在“lib”目录中有一个文件。 - Norswap

5
除了 Gem.loaded_specs 之外,还有 Gem.latest_spec_for
Gem.latest_spec_for('rails').version.to_s
# '3.2.8'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接