Pregunta Determine la versión de ruby ​​desde Rails


¿Hay alguna forma de determinar qué versión de Ruby se está ejecutando desde Rails (ya sea en la web oa través de script/console)? Tengo instalado Ruby 1.8.6 pero también he instalado Ruby Enterprise Edition 1.8.7-20090928 y quiero asegurarme de que esté utilizando la instalación correcta.


75
2017-10-19 16:34


origen


Respuestas:


Use la constante de nivel superior

RUBY_VERSION

otras constantes de nivel superior útiles son

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

aquí hay una sesión irb:

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

146
2017-10-19 16:41



Pruebe la constante RUBY_VERSION. Lo uso ampliamente para determinar si estoy ejecutando menos de 1.8 o JRuby.

Además, si no está en modo de producción, puede hacer una comprobación rápida pulsando la URL "/ rails / info / properties"


12
2017-10-19 16:40



Además de la constante RUBY_VERSION y sus amigos, es posible que también desee verificar Config :: CONFIG. Este hash contiene no solo los números de versión, sino también una tonelada de otra información de tiempo de ejecución útil, como la ruta al binario, el nombre de host, ...


9
2017-10-21 14:08



Utilizar RUBY_VERSION como lo mencionaron otros.

Puedes usar Gem::Version hacer una comparación de cadena de versión:

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