Determine ruby version from within Rails

你。 提交于 2019-11-27 09:55:51

问题


Is there a way to determine what version of Ruby is running from within Rails (either on the web or through script/console)? I have Ruby 1.8.6 installed but I've also installed Ruby Enterprise Edition 1.8.7-20090928 and want to ensure that it's using the right installation.


回答1:


Use the Top-Level Constant

RUBY_VERSION

other useful Top-Level Constants are

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

here is an irb session:

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



回答2:


Try the constant RUBY_VERSION. I use this extensively to determine whether I'm running under 1.8 or JRuby.

Also, if you're not in production mode, you can do a quick check by hitting the URL "/rails/info/properties"




回答3:


In addition to the RUBY_VERSION constant and friends you may also want to check out Config::CONFIG. This hash contains not only the version numbers but also a ton of other useful runtime information, like the path to the binary, the hostname, ...




回答4:


Use RUBY_VERSION as mentioned by others.

You can then use Gem::Version to do version string comparison:

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                                                          


来源:https://stackoverflow.com/questions/1589751/determine-ruby-version-from-within-rails

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!