从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