Mirahのインストールを丁寧に。と Hello World

さて、Mirah さんですが回りのGeekな方々(ギリシャ人じゃないよ)が
ご存知なくてちょっと意外でした。


最初は duby っていう名前で開発されていて、
最近になって Mirah に改名された模様です。
開発者の CHARLES NUTTER さんのブログを漁ると
http://blog.headius.com/2008/03/duby-type-inferred-ruby-like-jvm.html


これは2008年3月10日の記事なので、もう2年以上前からあることになります。
で Dubious は Mirah で書かれた Rails ライクなフレームワークだそうです。
ただ、構造はもっとシンプルで、かつ Google App Engine をターゲットにしているので、
RDB とかには対応してないはずです。たぶん。。。


Mirah のgitは
http://github.com/mirah/mirah


なのですが、なぜだかここの README は duby の頃のままで、古いので、
Dubious の方の README を参考にして Mirah の環境を構築したほうがよいです。
http://github.com/mirah/dubious


ですが、Dubious 自体は GAE な感じですので、
とりあえず、Mirah だけの環境がほしーのという場合は、
以下に端折って大丈夫です。
John Woodell さんには申し訳ないですが。

当然、git ありきで進めますと、

% git clone http://github.com/mirah/mirah.git


よく見ると、Dubious のサイトも Mirah の git リポジトリが古いですね。
1月ほど前に
http://groups.google.com/group/mirah/browse_thread/thread/6cb4760aa3f69a0d
というアナウンンスで headius > mirah への移行がうながされていますので、
おそらく上記が最新かと。
(git の履歴を見ると 8/16以降のコミットは mirah/mirah にしかなされていないですね。)


そういえば、 JRuby も必要でした。
JRuby の代替なのに JRuby に依存しとんのかい、と言いたくなるのは分らんでもないですが、
使っているのは解析器のところだそうです。
Java ソースに変換する際に、ほぼ Ruby構文解析をするのでわざわざ新たに作る必要はないですしね。
そんくらいシンタックスが一緒ちゅうことですな。
そのうち JRuby からその部分が Mirah の方に移って、JRuby が Mirah で実装されるようになるんでしょうか?


JRuby は1.5.0以上だそうですので、
現在最も一般的な開発環境では

% sudo port -d selfupdate
% sudo port install jruby


で1.5.0のJRubyはインストールできます。
MacPortsなんて俺のOSにはねーよとかいう、マイノリティの方々の環境のことは良くしらんです。
emerge とか apt-get とか yum とか make とか近代的でまともな開発環境であればなにかしらあります。
もっとナウなヤングは、本家サイトからtarボールを持ってくると1.5.2が安定板手にはいります。
jarなんで、展開すりゃいいだけなので。
(2010/9/4 現在)


で、インストールディレクトリは皆様いろいろな宗派や流儀があるでしょうが、
一例として/etc/profileの一部を、以下にあげます。

JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
JRUBY_HOME=/usr/local/jruby-1.5.2
MIRAH_HOME=/usr/local/mirah

export JAVA_HOME JRUBY_HOME MIRAH_HOME
PATH=$JAVA_HOME/bin:$JRUBY_HOME/bin:$MIRAH_HOME/bin


これでPATHが通っていれば、もう世界にこんにちは!です。

% mirah -e 'puts "Hello World!"'
Hello World!


ああ、もうこれであなたもmirahcostaですね。(注:僕の勝手な造語です。)
(というか、-ahとか抜ける音で終られると後に-ist とか-erとか付けにくいなぁ)


昔、geekという言葉をサービスの名前に入れようとしたら、
'変人'とかへんな単語入れるな、ってマジで同僚に嫌がられたのが急に思い出されてなつかしい今日この頃です。