2009-10-19 3 views
71

Есть ли способ определить, какая версия Ruby работает из Rails (либо в Интернете, либо через script/console)? У меня установлен Ruby 1.8.6, но я также установил Ruby Enterprise Edition 1.8.7-20090928 и хочу убедиться, что он использует правильную установку.Определить версию ruby ​​из Rails

ответ

139

Используйте Top-Level Constant

RUBY_VERSION 

другие полезные константы верхнего уровня

RUBY_PATCHLEVEL 
RUBY_PLATFORM 
RUBY_RELEASE_DATE 

здесь КРП сессия:

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

Попробуйте константу RUBY_VERSION. Я использую это широко, чтобы определить, работает ли я под 1.8 или JRuby.

Кроме того, если вы не в рабочем режиме, вы можете сделать быструю проверку, нажав URL "/ Перила/Информация/свойства"

9

В дополнение к константам RUBY_VERSION и друзьям вы также можете проверить Config :: CONFIG. Этот хэш содержит не только номера версий, но и тонну другой полезной информации о времени выполнения, например путь к двоичному, имя хоста, ...

+0

спасибо, я использую «ставит RbConfig.ruby» рубин 2.0 и 4.0 Рельсы и вернуть «/ USR/местные/RVM/рубины /ruby-2.0.0-p247/bin/ruby ' – quatermain

6

Использовать 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               
+0

Очень полезно, спасибо! – Francois

Смежные вопросы