MacRuby rev299 インストール

RubyKaigi2008で知ったMacRubyがおもしろそうなので、インストールしてみました。

最新のリリースバージョン(0.2)と開発中(Subversionのtrunk)では、コンパイル方法が変わっていました。0.2では、CRuby(Matz Ruby)と同じように、configure → make → make installですが、trunkではrakeを使うようになっていました。rake → rake installとなります。

この記事で対象としているMacRubyはSubversionのtrunkでリビジョン299になります。

まず最初にtrunkをインストールしてみました。前述の通り、簡単にインストールできました。各実行ファイル名にはプレフィックスmacが付くようになっています。ruby→macruby、irb→macirbのようにです。

0.2ではrubyという名前でインストールされてしまいますので、既にCRubyがあった場合、上書きされてしまいます。自分の環境ではruby-1.8.7が入っていたので、再インストールする羽目になりました・・・。MacOS X標準のRubyは別の場所にあるので競合しませんが、自分でRuby1.8/1.9をコンパイルされているような方は、configureにprefixを指定する必要があります。
Ruby Install Guide::各バイナリの共存方法
この記事が参考になるかと思います。

自分の環境では、0.2は正しくインストールすることが出来ませんでした。make installを行うとLIBRUBY_SOのインストール中に異常終了してしまいます。作業ディレクトリにそのようなファイルはないので、 Makefileがおかしいのか、まだ移植が不完全な部分なのだと思います。

trunkは前述の通り、rakeでインストールを行うため、問題なくインストール出来ました。

$ macruby -v
MacRuby version 0.3 (ruby 1.9.0 2008-06-03) [universal-darwin9.3]
$ macruby -e "p :hello"
:hello

ちゃんと動くようです。しかし、、、

$ macirb -v
/Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/locale.rb:43:in `String': no such file to load -- kconv (LoadError)
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/locale.rb:129:in `real_load'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/locale.rb:120:in `block in load'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/locale.rb:118:in `each'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/locale.rb:118:in `load'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/init.rb:120:in `init_error'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb/init.rb:17:in `setup'
from /Library/Frameworks/MacRuby.framework/Versions/0.3/usr/lib/ruby/1.9.0/irb.rb:53:in `start'
from /usr/local/bin/macirb:12:in `
'

irbはRubyKaigi2008のデモで使用されていたので、動かないとは思いにくいです。 locale.rbとなっているので、日本語環境が原因かも?

$ LANG=C macirb -v
irb 0.9.5(05/04/13)

ビンゴ!しばらくは英語環境でやった方がよさそうですね。

とりあえずはこのあたりで

シェアする

  • このエントリーをはてなブックマークに追加

フォローする