「IronRuby」の版間の差分
imported>Administrator |
|||
| (4人の利用者による、間の30版が非表示) | |||
| 1行目: | 1行目: | ||
'''IronRuby''' | '''IronRuby'''(読み:あいあんるびー)とは、[[マイクロソフト]]の[[DLR]]開発チームの中の人が作った[[.NET Framework]]上で動作する[[Ruby]]の実装である。読み方は「あいあんるびー」であり「あいろんるびー」ではない。 | ||
== 概要 == | |||
IronRubyは元々[[マイクロソフト]]によって管理されていたが、[[IronPython]]と共にオープンソースコミュニティ「[[IronLanguage]]プロジェクト」に譲渡され、現在ではユーザーコミュニティにより開発と管理がなされている。[[ライセンス]]には[[Apache License 2.0]]を採用しており完全なる[[オープンソース]]である。 | |||
== 互換性 == | == 互換性 == | ||
2012年3月時点で最新のIronRuby 1.1.3 は、Ruby 1.9.2 互換となっており、Ruby 1.8.6 | 2012年3月時点で最新のIronRuby 1.1.3 は、Ruby 1.9.2 互換となっており、Ruby 1.8.6 との互換性は捨てられている。Ruby 1.8.6 との互換を希望するユーザーのために IronRuby 1.0 も継続して提供されているので、必要ならばそちらを使うこと。 | ||
== インストール == | |||
=== Windows === | |||
IronRubyの公式サイトから[[インストーラー]]を[[ダウンロード]]して実行するだけである。 | |||
== | ==== 注意事項 ==== | ||
[[RubyGems]]はIronRubyを[[インストール]]した[[ディレクトリ]]の中の「\Lib\ruby\gems\」ディレクトリ以下に配置されるため、IronRubyをデフォルトのままProgram Filesディレクトリにインストールすると、[[Windows Vita]]以降のセキュリティ制限により動かないので注意すること。 | |||
また、[[RubyGems]]の中には[[nmake]]を用いる物も多々ある。nmakeは単品配布<ref>http://d.hatena.ne.jp/perlcodesample/20081025/1225035398</ref>、もしくは[[Visual Studio]]同梱の物を使うと良い。なお、nmakeへの[[パス]]が通っていないと次々と[[エラー]]がでることになる。[[Visual Studio]]同梱版の場合は[[cmd.exe]]起動時に一式の[[パス]]を通してくれる「Visual Studio コマンドプロンプト」というスタートメニューの中にあるショートカットから起動するという手もある。 | |||
=== Mono === | === Mono === | ||
1. | 以下は2012年3月14日時点でのインストール方法です。[[URL]]など、IronRubyのバージョンはIronRuby 1.1.3(Ruby 1.9.2互換)を対象としています。 | ||
基本的にはIronRubyの公式サイトから[[zipファイル]]を[[ダウンロード]]してきて展開するだけです。 | |||
<source lang="bash"> | |||
# ダウンロード | |||
$ wget --content-disposition "http://download.codeplex.com/Download?ProjectName=ironruby&DownloadId=217153&FileTime=129445296766130000&Build=18559" | |||
# 展開 | |||
$ unzip IronRuby.zip -d /opt/ironruby | |||
# ショートカット用のシェルスクリプトを用意しておく | |||
$ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ironruby/bin/ir.exe" "$@"' > /opt/ironruby/bin/ir | |||
$ chmod 755 /opt/ironruby/bin/ir | |||
</source> | |||
gemが動かない。 | |||
{{stub}} | |||
=== Mono(ソースコードから) === | |||
以下は2012年03月09日時点でのインストール方法であり、今後変更になる可能性がある。 | |||
1. [[GitHub]]から[[ソースコード]]を[[ダウンロード]]する。 | |||
<!-- | |||
GitHubのサイト上からブラウザでダウンロードするもよし、gitでダウンロードするもよし。 | |||
なお、IronLanguageプロジェクトの全ソースコードがダウンロードされるので[[IronPython]]のソースコードも含まれている。 | |||
<source lang="bash"> | <source lang="bash"> | ||
$ mkdir iron | $ mkdir iron | ||
| 21行目: | 49行目: | ||
$ git clone https://github.com/IronLanguages/main.git | $ git clone https://github.com/IronLanguages/main.git | ||
</source> | </source> | ||
--> | |||
[[GitHub]]のサイト上から[[ブラウザ]]で[[ダウンロード]]して展開する。 | |||
<source lang="bash"> | |||
$ wget "https://github.com/IronLanguages/main/zipball/v1.1.3" | |||
$ unzip v1.1.3 | |||
$ cd IronLanguages-main-93ce72d/ | |||
</source> | |||
2. ファイル名の大文字小文字を統一する。 | 2. ファイル名の大文字小文字を統一する。 | ||
[[ソリューションファイル]]の中で指定されている各種[[ファイル]]が、[[ファイル名]]の大文字小文字を区別しない[[Windows]]向けに作られており、[[ファイル名]]の大文字小文字を区別する[[Linux]]/[[Unix]]では「ファイルがない」などのエラーとなるので統一する。 | |||
<source lang="bash"> | <source lang="bash"> | ||
$ find . -type f -name *.sln -exec sed -i.bak 's/SilverLight/Silverlight/g' '{}' \; | $ find . -type f -name *.sln -exec sed -i.bak 's/SilverLight/Silverlight/g' '{}' \; | ||
</source> | </source> | ||
3. | 3. [[xbuild]]コマンドでビルドする。 | ||
デフォルトで警告を[[エラー]]とするTreatWarningsAsErrorsが有効になっているので無効化した状態でビルドする。 | |||
<source lang="bash"> | <source lang="bash"> | ||
$ xbuild /p:Configuration=Release /p:TreatWarningsAsErrors=false Solutions/Ruby.sln | $ xbuild /p:Configuration=Release /p:TreatWarningsAsErrors=false Solutions/Ruby.sln | ||
| 39行目: | 73行目: | ||
4. 出来上がったファイルをコピーする。 | 4. [[Ruby]]標準ライブラリのパスを書き換えておく。 | ||
※下記ではインストール先を「/opt/ironruby/」ディレクトリとしているので適宜書き換えること。 | |||
Ruby標準ライブラリのパスはApp.configに記載されているので適宜書き換える。 | |||
ここでは実行ファイルの在処の中に配置する。 | |||
<source lang="bash"> | |||
$ find bin/ -name *.config -exec sed -i.bak 's/\.\.\\.\.\\Languages\\Ruby\\StdLib/StdLib/g' '{}' \; | |||
</source> | |||
5. 出来上がったファイルをコピーする。 | |||
※下記ではインストール先を「/opt/ironruby/」ディレクトリとしているので適宜書き換えること。 | |||
実行ファイル。 | |||
<source lang="bash"> | <source lang="bash"> | ||
$ mkdir -p /opt/ironruby/lib | |||
$ cd bin/Release | $ cd bin/Release | ||
$ for f in *.exe *.dll *.config; do \ | $ for f in *.exe *.dll *.config; do \ | ||
install $f /opt/ironruby; \ | install $f /opt/ironruby/lib; \ | ||
done | |||
$ cd ../../ | |||
</source> | |||
ライブラリ。 | |||
<source lang="bash"> | |||
$ cp -R Languages/Ruby/StdLib /opt/ironruby/lib/ | |||
</source> | |||
gemなどの各種スクリプト。 | |||
<source lang="bash"> | |||
$ for f in Languages/Ruby/Scripts/bin/*; do \ | |||
install $f /opt/ironruby/bin; \ | |||
done | done | ||
</source> | </source> | ||
6. ショートカット用のシェルスクリプトを作っておく。 | |||
※下記ではインストール先を「/opt/ironruby/bin」ディレクトリとしているので適宜書き換えること。 | |||
<source lang="bash"> | |||
$ 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 | |||
</source> | |||
7. IronRubyを起動してみる | |||
<source lang="bash"> | |||
$ cd /opt/ironruby/bin | |||
$ ./ir | |||
>>> puts 'hello ironruby' | |||
hello ironruby | |||
=> nil | |||
>>> (Ctrl-Dで終了) | |||
</source> | |||
まだgemが動かせていない。 | |||
Windowsのigem.batは動くんだがねぇ。 | |||
{{stub}} | {{stub}} | ||
| 52行目: | 139行目: | ||
== IronRuby Tools == | == IronRuby Tools == | ||
{{stub}} | {{stub}} | ||
== RubyGems == | |||
IronRubyでRubyGemsを使うには「ir -S gem」コマンドを使う。このコマンドをバッチファイルにしたigem.batという物もあるのでそちらを使っても良い。 | |||
=== 簡単な使い方を表示する === | |||
引数を省略すると簡単なヘルプが表示される。 | |||
全コマンドが表示されるわけではないので注意すること。 | |||
<source lang="dos"> | |||
igem | |||
</source> | |||
基本的には本家[[Ruby]]のgemコマンドとほぼ同じなので、詳細はRubyGemsの公式サイト上のドキュメントを見ておくとよい。 | |||
* http://docs.rubygems.org/ | |||
=== 標準パッケージをアップデートする === | |||
igemコマンドに「--no-ri --no-rdoc」というオプションを付けることでドキュメントの生成を抑制する。 | |||
RubyGemsのインストールやアップデートのうち、大半の時間はドキュメント生成なので、このオプションを付けることで驚くほど高速化することができる。 | |||
また、「-V」オプションを付けることで途中経過を表示することができる。通常は正常終了するか異常終了するまで何も画面にでないので本当に動いているか不安になるので、極力付けた方がよい。 | |||
<source lang="dos"> | |||
igem update --system --no-ri --no-rdoc -V | |||
</source> | |||
=== インストールされているパッケージの一覧を表示する === | |||
<source lang="dos"> | |||
igem list --local | |||
</source> | |||
=== RubyGemsで配布されているパッケージの一覧を表示する === | |||
なお、RubyGemsで配布されているパッケージは膨大な数にのぼるので、とてつもなく時間がかかる。 | |||
<source lang="dos"> | |||
igem list --remote | |||
</source> | |||
=== パッケージをインストールする === | |||
たとえばrakeをインストールする場合は以下のようにする。 | |||
<source lang="dos"> | |||
igem install rake -V --no-ri --no-rdoc | |||
</source> | |||
== 関連項目 == | == 関連項目 == | ||
| 58行目: | 184行目: | ||
== 外部リンク == | == 外部リンク == | ||
* http://ironruby.net/ | * http://ironruby.net/ - 公式サイト | ||
* https://github.com/IronLanguages/ | * https://github.com/IronLanguages/ - 公式リポジトリ | ||
* https://github.com/IronLanguages/main/tree/master/Languages/Ruby - 公式リポジトリ内のIronRuby本体のソースコード | |||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | |||
{{stub}} | {{stub}} | ||