2009-10-19 80 views
71

有没有一种方法可以确定Rails(通过Web或通过script/console)从Rails内部运行的Ruby版本?我安装了Ruby 1.8.6,但我也安装了Ruby Enterprise Edition 1.8.7-20090928,并希望确保它使用正确的安装。从Rails内部确定ruby版本

回答

139

使用顶级恒做一个快速检查

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“/导轨/信息/属性”

9

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

+0

谢谢你,我用“把RbConfig.ruby”红宝石2.0和4.0轨道并返回“在/ usr /本地/ RVM /红宝石/ruby-2.0.0-p247/bin/ruby' – quatermain 2013-09-18 13:08:00

6

使用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               
+0

非常有用,谢谢! – Francois 2018-01-12 20:28:24