Frage Ermitteln Sie die Ruby-Version in Rails


Gibt es eine Möglichkeit zu bestimmen, welche Version von Ruby in Rails ausgeführt wird (entweder im Web oder durch script/console) Ich habe Ruby 1.8.6 installiert, aber ich habe auch Ruby Enterprise Edition 1.8.7-20090928 installiert und möchte sicherstellen, dass es die richtige Installation verwendet.


75
2017-10-19 16:34


Ursprung


Antworten:


Verwenden Sie die Konstante auf oberster Ebene

RUBY_VERSION

andere nützliche Top-Level-Konstanten sind

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

Hier ist eine IRB-Sitzung:

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

146
2017-10-19 16:41



Probieren Sie die Konstante RUBY_VERSION. Ich benutze das ausgiebig, um festzustellen, ob ich unter 1.8 oder JRuby laufe.

Wenn Sie sich nicht im Produktionsmodus befinden, können Sie eine schnelle Überprüfung durchführen, indem Sie die URL "/ rails / info / properties" drücken.


12
2017-10-19 16:40



Zusätzlich zu der Konstante RUBY_VERSION und Freunden können Sie auch Config :: CONFIG ausprobieren. Dieser Hash enthält nicht nur die Versionsnummern, sondern auch eine Menge anderer nützlicher Informationen zur Laufzeit, wie den Pfad zur Binärdatei, den Hostnamen, ...


9
2017-10-21 14:08



Benutzen RUBY_VERSION wie von anderen erwähnt.

Sie können dann verwenden Gem::Version Vergleichen der Versionszeichenfolge:

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                                                          

6
2018-03-02 10:25