88 votes

Déterminer la version de ruby à partir de Rails

Existe-t-il un moyen de déterminer quelle version de Ruby est exécutée à partir de Rails (soit sur le web, soit par l'intermédiaire de l'API) ? script/console ) ? J'ai installé Ruby 1.8.6 mais j'ai également installé Ruby Enterprise Edition 1.8.7-20090928 et je veux m'assurer qu'il utilise la bonne installation.

177voto

avguchenko Points 1518

Utilisez cette constante globale :

RUBY_VERSION

Les autres constantes globales pertinentes sont les suivantes :

RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE

Exemple d'utilisation via irb session :

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

12voto

Mark Westling Points 2940

Essayez la constante RUBY_VERSION. Je l'utilise largement pour déterminer si je fonctionne sous 1.8 ou JRuby.

De plus, si vous n'êtes pas en mode production, vous pouvez effectuer une vérification rapide en cliquant sur l'URL "/rails/info/properties".

10voto

KomodoDave Points 6829

Utilisez RUBY_VERSION comme mentionné par d'autres.

Vous pouvez alors utiliser Gem::Version pour effectuer la comparaison des chaînes de 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

10voto

averell Points 2067

En plus de la constante RUBY_VERSION et de ses amis, vous pouvez également consulter Config::CONFIG. Ce hash contient non seulement les numéros de version mais aussi une tonne d'autres informations utiles pour l'exécution, comme le chemin vers le binaire, le nom d'hôte, ...

0 votes

Merci, j'utilise 'puts RbConfig.ruby' pour ruby 2.0 et rails 4.0 et cela renvoie '/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X