Pertanyaan Tentukan versi ruby ​​dari dalam Rails


Apakah ada cara untuk menentukan versi Ruby yang berjalan dari dalam Rails (baik di web atau melalui script/console)? Saya telah menginstal Ruby 1.8.6 tapi saya juga menginstal Ruby Enterprise Edition 1.8.7-20090928 dan ingin memastikan bahwa itu menggunakan instalasi yang tepat.


75
2017-10-19 16:34


asal


Jawaban:


Gunakan Konvensional Tingkat Atas

RUBY_VERSION

Konstanta Tingkat Atas yang berguna lainnya adalah

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

di sini adalah sesi irb:

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

146
2017-10-19 16:41



Coba RUBY_VERSION konstan. Saya menggunakan ini secara ekstensif untuk menentukan apakah saya berjalan di bawah 1,8 atau JRuby.

Juga, jika Anda tidak dalam mode produksi, Anda dapat melakukan pemeriksaan cepat dengan menekan URL "/ rel / info / properti"


12
2017-10-19 16:40



Selain konstanta RUBY_VERSION dan teman-teman Anda mungkin juga ingin memeriksa Config :: CONFIG. Hash ini berisi tidak hanya nomor versi tetapi juga satu ton informasi runtime berguna lainnya, seperti jalur ke biner, nama host, ...


9
2017-10-21 14:08



Menggunakan RUBY_VERSION seperti yang disebutkan oleh orang lain.

Anda dapat menggunakannya Gem::Version untuk melakukan perbandingan string versi:

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