有没有办法确定哪些版本的Ruby在Rails中运行(在网络上或通过script/console
)?我安装了Ruby 1.8.6,但我还安装了Ruby Enterprise Edition 1.8.7-20090928,并希望确保它使用正确的安装。
答案 0 :(得分:151)
使用顶级常量
RUBY_VERSION
其他有用的顶级常量
RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE
这是一个irb会话:
irb(main):001:0> RUBY_VERSION
=> "1.8.7"
答案 1 :(得分:12)
尝试常量RUBY_VERSION。我广泛使用它来确定我是在1.8或JRuby下运行。
此外,如果您未处于生产模式,可以通过点击URL“/ rails / info / properties”进行快速检查
答案 2 :(得分:10)
除了RUBY_VERSION常量和朋友之外,您可能还想查看Config :: CONFIG。此哈希不仅包含版本号,还包含大量其他有用的运行时信息,如二进制文件的路径,主机名,......
答案 3 :(得分:8)
使用其他人提到的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