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 test
thay vìjruby --1.9 -S rake test
Cảm ơn bạn
Câu trả lời:
Sử dụng JRUBY_OPTS
biến môi trường. JRUBY_OPTS
giữ 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 ...
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
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
Có -d19
thể 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.8 và 1.9 .
Các --1.9
chế độ 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.8
switch RVM.
CẬP NHẬT 2012-05-25: Jruby 1.7.0.preview1 đã ra mắt, mặc định là 1.9!
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.rb
tệ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 warble
lệnh.
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)