如何在运行时检查Ruby中的Gem版本?

时间:2010-06-02 00:35:02

标签: ruby rubygems

是否可以在ruby / rails应用程序中检查当前加载的gem的gem版本?

在调试过程中,我希望能够做到这样的事情:

puts RubyGem.loaded_version(:active_support)

这样的东西存在吗?

2 个答案:

答案 0 :(得分:65)

puts Gem.loaded_specs["activesupport"].version

答案 1 :(得分:28)

在与Gem.loaded_specs['mini_magick'].version进行比较时要小心,因为它不是String而是Gem::Version对象!

版本字符串可以使用Gem.loaded_specs['mini_magick'].version.version访问,这是丑陋的,可能无法按预期工作,例如'2.2' > '2.10'

与宝石版本进行比较的正确方法是:

Gem.loaded_specs['mini_magick'].version < Gem::Version.create('2.0')