自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
Ruby言語やLinuxのネタが多いです。
November 09, 2007 [おもひで]
■ [Ruby] JRubyのインストールと環境設定 Linux編
JRubyをLinuxにインストールする場合、どうするとよいのだろう。
とりあえず、自分の環境を晒してみる。
まずは、インストール先。/opt/配下にしようかと思ったんだけど、JDKが/usr/java/配下にあるので、それにならって、/usr/java/配下に置くことにした。
こんな感じ。
lrwxrwxrwx 1 root root 16 2007-07-07 09:00 default -< /usr/java/latest/ drwxr-xr-x 9 root root 4096 2007-07-07 09:00 jdk1.6.0_02/ lrwxrwxrwx 1 root root 11 2007-10-25 23:26 jruby -< jruby-1.0.1/ drwxr-xr-x 6 root root 4096 2007-10-25 23:25 jruby-1.0.1/ lrwxrwxrwx 1 root root 21 2007-07-07 09:00 latest -< /usr/java/jdk1.6.0_02/
/usr/jara/jrubyはjruby-1.0.1のシンボリックリンクにしておく。
ruby-1.8.6もそのまま使うので、PATH環境変数は使わずに、$HOME/.aliasに以下のようなエイリアスを記述する。
alias jruby='/usr/java/jruby/bin/jruby' alias jirb='/usr/java/jruby/bin/jruby /usr/java/jruby/bin/jirb' alias jgem='/usr/java/jruby/bin/jruby /usr/java/jruby/bin/gem' alias jrake='/usr/java/jruby/bin/jruby /usr/java/jruby/bin/rake'
これで、通常のrubyと共存ができる。こんな感じ。
$ jruby -v ruby 1.8.5 (2007-08-23 rev 4201) [i386-jruby1.0.1] $ jirb $ jgem install gettext $ jrake updatepo
こんな感じでどうだろ。もっと簡単に使う方法ある?
■ [Ruby] JRuby with Ruby-GetText-Package
大体は動くんだけど、テストが一部通らねー。
でも、これってJRubyのバグだよね。Matz Rubyでは動くんだし・・・。
Railsは大体動くみたいだし、ヨシとすっかなー。(弱気)
def each_test
[:a, :b, :c].each {|key|
[1,2,3].each {|i|
yield i
}
}
end
each_test {|i|
print i
break if i == 2
}
puts
んで、実行結果。
% ruby -v test.rb ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux] 12 % jruby -v test.rb ruby 1.8.5 (2007-11-01 rev 4810) [i386-jruby1.0.2] 121212
JRubyだと、1回のbreakでは一番外まで抜け出せないようだ。 不具合レポートも出ている模様。
結局のところはJRubyを直してもらわないとダメなんだけど、うまい回避策ないかなぁ。

$ jruby -S rake
とかが便利ですよ
おぉ。そんな技が。ありがとうございます!