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

79
demandé sur Michiel de Mare 2011-01-21 09:05:32

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...
108
répondu toddsundsted 2011-01-21 18:59:30

Une solution alternative est de mettre la ligne suivante (et d'autres paramètres) dans votre ~/.dossier jrubyrc

compat.version=1.9
22
répondu Alex Blakemore 2012-02-24 04:40:52

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!

18
répondu mpapis 2012-05-25 03:35:15

sous Windows, utilisez set JRUBY_OPTS=--1.9 à la place.

11
répondu taiansu 2011-08-29 13:09:57

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 .

8
répondu Sébastien Le Callonnec 2012-03-03 10:32:03

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)

6
répondu James Moore 2011-10-24 21:48:28