从Rails中确定ruby版本

Dan*_*uis 80 ruby ruby-on-rails ruby-enterprise-edition

有没有办法确定在Rails中运行的Ruby版本(在Web上还是通过script/console)?我安装了Ruby 1.8.6,但我还安装了Ruby Enterprise Edition 1.8.7-20090928,并希望确保它使用正确的安装.

avg*_*nko 156

使用顶级常量

RUBY_VERSION
Run Code Online (Sandbox Code Playgroud)

其他有用的顶级常量是

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE
Run Code Online (Sandbox Code Playgroud)

这是一个irb会话:

irb(main):001:0> RUBY_VERSION
=> "1.8.7"
Run Code Online (Sandbox Code Playgroud)


Mar*_*ing 12

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

此外,如果您尚未进入生产模式,可以通过点击URL"/ rails/info/properties"进行快速检查.


ave*_*ell 10

除了RUBY_VERSION常量和朋友之外,您还可以查看Config :: CONFIG.此哈希不仅包含版本号,还包含大量其他有用的运行时信息,如二进制路径,主机名,...


Kom*_*ave 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                                                          
Run Code Online (Sandbox Code Playgroud)