web-dev-qa-db-ja.com

Ruby内からのバージョンRails

RubyのバージョンがRails(ウェブ上またはscript/console)? Ruby 1.8.6がインストールされていますが、Ruby Enterprise Edition 1.8.7-20090928をインストールしており、適切なインストールを使用していることを確認したいです。

79

トップレベルの定数を使用する

Ruby_VERSION

他の有用なトップレベル定数は

Ruby_PATCHLEVEL
Ruby_PLATFORM
Ruby_RELEASE_DATE

ここにirbセッションがあります:

irb(main):001:0> Ruby_VERSION
=> "1.8.7"
154
avguchenko

定数Ruby_VERSIONを試してください。 1.8で実行しているかJRubyで実行しているかを判断するために、これを広範囲に使用します。

また、本番モードでない場合は、URL「/ Rails/info/properties」を押すことで簡単に確認できます

12
Mark Westling

Ruby_VERSION定数と友人に加えて、Config :: CONFIGもチェックアウトしたい場合があります。このハッシュには、バージョン番号だけでなく、バ​​イナリへのパス、ホスト名など、その他の便利なランタイム情報も含まれています。

10
averell

他の人が述べたように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                                                          
8
KomodoDave