quelle est la meilleure façon de faire fonctionner JRuby en mode 1.9 par défaut?
c'est-à-dire que je veux exécuter rake test
au lieu de jruby --1.9 -S rake test
Je vous remercie
Utilisez le JRUBY_OPTS
variable d'environnement. JRUBY_OPTS
contient une liste d'arguments qui sont ajoutés à tous les arguments spécifiés sur la ligne de commande.
Par exemple (sous 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 autre solution consiste à mettre la ligne suivante (et d'autres paramètres) dans votre fichier ~/.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 uniquement pour distinguer les rubis en mode 1.8 et 1.9.
Le mode --1.9
Deviendra la valeur par défaut dans les prochaines versions majeures de JRuby/Rubinius, vous pouvez donc vous assurer que vous utiliserez 1.8 avec le commutateur rvm --1.8
.
MISE À JOUR 2012-05-25: Jruby 1.7.0.preview1 est sorti, c'est 1.9 par défaut!
Sous Windows, utilisez set JRUBY_OPTS=--1.9
au lieu.
Lorsque vous utilisez warbler pour empaqueter une application en tant que fichier war, la version peut être définie en exécutant:
warble config
ce qui crée un config/warble.rb
fichier. Ce fichier contient de nombreux commentaires sur la façon de configurer la fauvette, 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 supprimant le #
, et reconditionnez votre war 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 la chaîne #jrubyc irc)