Визначте версію рубіну з Rails


82

Чи можна визначити, яка версія Ruby працює з Rails (в Інтернеті чи через script/console)? У мене встановлено Ruby 1.8.6, але я також встановив Ruby Enterprise Edition 1.8.7-20090928 і хочу переконатись, що він використовує правильну установку.

Відповіді:


166

Використовуйте константу верхнього рівня

RUBY_VERSION

іншими корисними константами верхнього рівня

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

ось сеанс irb:

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

12

Спробуйте константу RUBY_VERSION. Я широко використовую це, щоб визначити, чи працюю я під версією 1.8 чи JRuby.

Крім того, якщо ви не перебуваєте у виробничому режимі, ви можете швидко перевірити, натиснувши URL-адресу "/ rails / info / properties"


10

Окрім константи RUBY_VERSION та друзів, ви також можете перевірити Config :: CONFIG. Цей хеш містить не тільки номери версій, а й масу іншої корисної інформації про час виконання, наприклад шлях до двійкового файлу, ім'я хосту, ...


дякую, я використовую 'put RbConfig.ruby' для ruby ​​2.0 і rails 4.0 і він повертається '/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby'
quatermain

9

Використовуйте, 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                                                          

Я хотів би, щоб ця відповідь була там - stackoverflow.com/q/11819525/322020 - але я не можу перемістити її, тому прошу видалити цю та розмістити там.
Накілон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.