IronRuby
IronRubyとは、マイクロソフトのDLR開発チームの中の人が作った.NET Framework上で動作するRubyの実装である。 もともとはマイクロソフトによって管理されていたが、IronPythonとともにオープンソースコミュニティに譲渡され、ユーザーコミュニティにより開発と管理がなされている。
目次
互換性
2012年3月時点で最新のIronRuby 1.1.3 は、Ruby 1.9.2 互換となっており、Ruby 1.8.6 との互換性は捨てられている。
Ruby 1.8.6 との互換を希望するユーザーのために IronRuby 1.0 も継続して提供されているので、必要ならばそちらを使うこと。
インストール
Windows
公式サイトからインストーラをダウンロードして実行。
Mono
以下は2012年03月09日時点でのインストール方法であり、今後変更になる可能性がある。
1. GitHubからソースコードをダウンロードする。
GitHubのサイト上からブラウザでダウンロードするもよし、gitでダウンロードするもよし。 なお、IronLanguageプロジェクトの全ソースコードがダウンロードされるのでIronPythonのソースコードも含まれている。
$ mkdir iron
$ cd iron
$ git clone https://github.com/IronLanguages/main.git
2. ファイル名の大文字小文字を統一する。
ソリューションファイルの中で指定されている各種ファイルが、ファイルの大文字小文字を区別しないWindows向けに作られており、ファイル名の大文字小文字を区別するLinux/Unixでは「ファイルがない」などのエラーとなるので統一する。
$ cd main
$ find . -type f -name *.sln -exec sed -i.bak 's/SilverLight/Silverlight/g' '{}' \;
3. xbuildコマンドでビルドする。
デフォルトで警告をエラーとするTreatWarningsAsErrorsが有効になっているので無効化した状態でビルドする。
$ xbuild /p:Configuration=Release /p:TreatWarningsAsErrors=false Solutions/Ruby.sln
4. Ruby標準ライブラリのパスを書き換えておく。
※下記ではインストール先を「/opt/ironruby/」ディレクトリとしているので適宜書き換えること。
Ruby標準ライブラリのパスはApp.configに記載されているので適宜書き換える。 ここでは実行ファイルの在処の中に配置する。
$ find bin/ -name *.config -exec sed -i.bak 's/\.\.\\.\.\\Languages\\Ruby\\StdLib/StdLib/g' '{}' \;
5. 出来上がったファイルをコピーする。
※下記ではインストール先を「/opt/ironruby/」ディレクトリとしているので適宜書き換えること。
実行ファイル。
$ mkdir -p /opt/ironruby/lib
$ cd bin/Release
$ for f in *.exe *.dll *.config; do \
install $f /opt/ironruby/lib; \
done
$ cd ../../
ライブラリ。
$ cp -R Languages/Ruby/StdLib /opt/ironruby/lib/
gemなどの各種スクリプト。 <souce lang="bash"> $ for f in Languages/Ruby/Scripts/bin/*; do \
install $f /opt/ironruby/bin; \ done
</source>
6. ショートカット用のシェルスクリプトを作っておく。
※下記ではインストール先を「/opt/ironruby/bin」ディレクトリとしているので適宜書き換えること。
$ mkdir -p /opt/ironruby/bin
$ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ironruby/lib/ir.exe" "$@"' > /opt/ironruby/bin/ir
$ chmod 755 /opt/ironruby/bin/ir
7. IronRubyを起動してみる
$ cd /opt/ironruby/bin
$ ./ir
>>> puts 'hello ironruby'
hello ironruby
=> nil
>>> (Ctrl-Dで終了)
IronRuby Tools
関連項目
外部リンク
参考文献