Comment rendre JRuby 1.6 par défaut à Ruby 1.9?
Quelle est la meilleure façon de faire tourner JRuby en mode 1.9 par défaut?
I. e, je veux lancer rake test
au lieu de jruby --1.9 -S rake test
Merci
6 réponses
utilisez la variable d'environnement JRUBY_OPTS
. JRUBY_OPTS
contient une liste d'arguments qui sont ajoutés à tous les arguments spécifiés sur la ligne de commande.
par exemple (sur Linux):
$ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSp... $ export JRUBY_OPTS=--1.9 $ jruby -v jruby 1.6.0.RC1 (ruby 1.9.2 trunk 136) (2011-01-10 769f847) (Java HotSpot(TM... $ export JRUBY_OPTS=--1.8 $ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSpo...
Une solution alternative est de mettre la ligne suivante (et d'autres paramètres) dans votre ~/.dossier jrubyrc
compat.version=1.9
RVM permet maintenant de construire JRuby / Rubinius avec le mode par défaut défini par défaut:
rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
le suffixe -d19
peut être omis, Je l'utilise seulement pour distinguer entre 1.8 et 1.9 mode rubies.
le mode --1.9
deviendra le mode par défaut dans les prochaines versions majeures de JRuby/Rubinius, donc vous pouvez vous assurer que vous utiliserez 1.8 avec --1.8
RVM switch.
mise à jour 2012-05-25: Jruby 1.7.0.preview1 est out, il est 1.9 par défaut!
lors de l'utilisation de warbler pour empaqueter une application en tant que fichier de guerre, la version peut être définie en exécutant:
warble config
qui crée un fichier config/warble.rb
. Ce fichier contient beaucoup de commentaires sur la façon de configurer warbler, et en particulier:
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
décommentez la deuxième ligne en enlevant le #
, et ré-empaquetez votre guerre avec la commande warble
.
si vous créez jruby à partir de java:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(merci à bbrowning sur le canal irc #jrubyc)