从Rails中确定ruby的版本

有没有一种方法来确定哪些版本的Ruby从Rails(无论是在网上或通过script/console )运行? 我安装了Ruby 1.8.6,但是我也安装了Ruby Enterprise Edition 1.8.7-20090928,并且希望确保它使用正确的安装。

使用顶层常量

 RUBY_VERSION 

其他有用的顶级常量是

 RUBY_PATCHLEVEL RUBY_PLATFORM RUBY_RELEASE_DATE 

这里是一个irb会话:

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

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

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

除了RUBY_VERSION常量和朋友之外,你也可以查看Config :: CONFIG。 这个散列不仅包含版本号,还包含大量其他有用的运行时信息,比如二进制文件的path,主机名,…

使用其他人提到的RUBY_VERSION

然后你可以使用Gem::Version来进行版本string比较:

 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