88

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

4

4 回答 4

177

使用这个全局常量:

RUBY_VERSION

其他相关的全局常量包括:

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

irb通过会话的使用示例:

irb(main):001:0> RUBY_VERSION
=> "1.8.7"
于 2009-10-19T16:41:54.710 回答
12

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

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

于 2009-10-19T16:40:53.543 回答
10

按照其他人的说法使用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                                                          
于 2015-03-02T10:25:53.363 回答
10

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

于 2009-10-21T14:08:30.163 回答