Làm thế nào để đặt JRuby 1.6 mặc định thành Ruby 1.9?


79

cách tốt nhất để làm cho JRuby chạy ở chế độ 1.9 theo mặc định là gì?

tức là, tôi muốn chạy rake testthay vìjruby --1.9 -S rake test

Cảm ơn bạn

Câu trả lời:


109

Sử dụng JRUBY_OPTSbiến môi trường. JRUBY_OPTSgiữ danh sách các đối số được thêm vào bất kỳ đối số nào được chỉ định trên dòng lệnh.

Ví dụ (trên Linux):

$ jruby -v
jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSp ...
$ xuất JRUBY_OPTS = - 1,9
$ jruby -v
jruby 1.6.0.RC1 (ruby 1.9.2 trunk 136) (2011-01-10 769f847) (Java HotSpot (TM ...
$ xuất JRUBY_OPTS = - 1,8
$ jruby -v
jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSpo ...

22

Một giải pháp thay thế là đặt dòng sau (và các cài đặt khác) trong tệp ~ / .jrubyrc của bạn

compat.version=1.9

18

RVM hiện cho phép xây dựng JRuby / Rubinius với chế độ mặc định được đặt theo mặc định:

rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9

-d19thể bỏ qua hậu tố này, tôi chỉ sử dụng nó để phân biệt giữa hồng ngọc chế độ 1.81.9 .

Các --1.9chế độ sẽ trở thành mặc định trong phiên bản lớn tiếp theo của JRuby / Rubinius, vì vậy bạn có thể chắc chắn rằng bạn sẽ sử dụng 1,8 với --1.8switch RVM.

CẬP NHẬT 2012-05-25: Jruby 1.7.0.preview1 đã ra mắt, mặc định là 1.9!


11

Trong Windows, hãy sử dụng set JRUBY_OPTS=--1.9thay thế.


8

Khi sử dụng warbler để đóng gói ứng dụng dưới dạng tệp chiến tranh, phiên bản có thể được đặt bằng cách chạy:

warble config

tạo một config/warble.rbtệp. Tệp này chứa rất nhiều nhận xét về cách cấu hình chim chích chòe, và cụ thể là:

  # Set JRuby to run in 1.9 mode.
  # config.webxml.jruby.compat.version = "1.9"

Bỏ ghi chú dòng thứ hai bằng cách xóa #và gói lại cuộc chiến của bạn bằng warblelệnh.


6

Nếu bạn đang tạo jruby từ java:

RubyInstanceConfig config = new RubyInstanceConfig();   
config.setCompatVersion(CompatVersion.Ruby1_9); 
Ruby runtime = Ruby.newInstance(config)

(Cảm ơn bạn đã đăng trên kênh #jrubyc irc)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.