2009-10-19 15 views
71

¿Hay alguna manera de determinar qué versión de Ruby se está ejecutando desde Rails (ya sea en la web o a través del 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.Determine la versión de ruby ​​desde Rails

Respuesta

139

Uso del nivel superior constante

RUBY_VERSION 

otras constantes de nivel superior son útiles

RUBY_PATCHLEVEL 
RUBY_PLATFORM 
RUBY_RELEASE_DATE 

aquí se presenta una sesión de IRB:

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

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

Además, si usted no está en el modo de producción, se puede realizar una comprobación rápida por golpear a la URL "/ carriles/info/propiedades"

9

Además de la constante RUBY_VERSION y sus amigos, es posible que también desee comprobar 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, ...

+0

gracias, yo uso 'pone RbConfig.ruby' para Ruby 2.0 y 4.0 rieles y devolverlo '/ usr///RVM rubíes locales /ruby-2.0.0-p247/bin/ruby ' – quatermain

6

Utilice RUBY_VERSION según lo mencionado por otros.

continuación, puede utilizar Gem::Version hacer comparación de cadenas 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               
+0

¡Muy útil, gracias! – Francois

Cuestiones relacionadas