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

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

在调试期间,我希望能够执行以下操作:

puts RubyGem.loaded_version(:active_support)

这样的东西存在吗?

Lance Pollard asked 2020-07-31T05:06:09Z
2个解决方案
66 votes
puts Gem.loaded_specs["activesupport"].version
seangrieve answered 2020-07-31T05:06:21Z
28 votes

Gem.loaded_specs['mini_magick'].version < Gem::Version.create('2.0')进行比较时请务必小心,因为它不是'2.2' > '2.10',而是Gem::Version对象!

可以使用Gem.loaded_specs['mini_magick'].version < Gem::Version.create('2.0')访问版本字符串,该字符串很丑陋,可能无法按预期运行,例如 '2.2' > '2.10'

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

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

kares answered 2020-07-31T05:06:50Z
translate from https://stackoverflow.com:/questions/2954279/how-do-you-check-the-gem-version-in-ruby-at-runtime