从Rails中确定红宝石版本


Answers:


164

使用顶级常量

RUBY_VERSION

其他有用的顶级常量是

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

这是一个irb会话:

irb(main):001:0> RUBY_VERSION
=> "1.8.7"

12

尝试常量RUBY_VERSION。我广泛使用它来确定我是在1.8还是JRuby下运行。

另外,如果您不在生产模式下,则可以通过单击URL“ / rails / info / properties”进行快速检查。


10

除了RUBY_VERSION常量和朋友之外,您可能还想签出Config :: CONFIG。该哈希不仅包含版本号,还包含大量其他有用的运行时信息,例如二进制文件的路径,主机名,...


谢谢你,我用红宝石2.0“使RbConfig.ruby”和导轨4.0,它返回“/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby”
quatermain

9

使用RUBY_VERSION其他人提到的方式。

然后,您可以Gem::Version用来进行版本字符串比较:

require 'rubygems' # Only needed for ruby pre-1.9.0 but it's safe for later versions (evaluates to false).
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.0')
    extend DL::Importable                                    
else                                                         
    extend DL::Importer                                      
end                                                          

我希望这个答案在那里-stackoverflow.com/q/11819525/322020-但我无法移动它,所以我请您删除它并张贴在这里。
Nakilon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.