Rails内からRubyバージョンを判別する


81

Rails内から(Web上またはを介してscript/console)実行されているRubyのバージョンを判別する方法はありますか?Ruby 1.8.6をインストールしましたが、Ruby Enterprise Edition 1.8.7-20090928もインストールしましたが、正しいインストールを使用していることを確認したいと思います。

回答:


164

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

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もチェックアウトすることをお勧めします。このハッシュには、バージョン番号だけでなく、バ​​イナリへのパス、ホスト名など、その他の有用なランタイム情報も多数含まれています。


ありがとう、私はruby2.0とrails4.0に「putsRbConfig.ruby」を使用し、「/ usr / local / rvm / rubies / ruby
2.0.0

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--しかし、移動できないので、これを削除してそこに投稿してください。
ナキロン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.