「IronRuby」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
 
(4人の利用者による、間の34版が非表示)
1行目: 1行目:
'''IronRuby'''とは、マイクロソフトの[[DLR]]開発チームの中の人が作った[[.NET Framework]]上で動作するRubyの実装である。
+
'''IronRuby'''(読み:あいあんるびー)とは、[[マイクロソフト]]の[[DLR]]開発チームの中の人が作った[[.NET Framework]]上で動作する[[Ruby]]の実装である。読み方は「あいあんるびー」であり「あいろんるびー」ではない。
もともとはマイクロソフトによって管理されていたが、[[IronPython]]とともにオープンソースコミュニティに譲渡され、ユーザーコミュニティにより開発と管理がなされている。
+
 
 +
== 概要 ==
 +
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 も継続して提供されているので、必要ならばそちらを使うこと。
  
Ruby 1.8.6 との互換を希望するユーザーのために IronRuby 1.0 も継続して提供されているので、必要ならばそちらを使うこと。
+
== インストール ==
 +
=== Windows ===
 +
IronRubyの公式サイトから[[インストーラー]]を[[ダウンロード]]して実行するだけである。
  
== インストール ==
+
==== 注意事項 ====
 +
[[RubyGems]]はIronRubyを[[インストール]]した[[ディレクトリ]]の中の「\Lib\ruby\gems\」ディレクトリ以下に配置されるため、IronRubyをデフォルトのままProgram Filesディレクトリにインストールすると、[[Windows Vita]]以降のセキュリティ制限により動かないので注意すること。
  
=== Windows ===
+
また、[[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. GitHubからソースコードをダウンロードする。
+
以下は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]]から[[ソースコード]]を[[ダウンロード]]する。
  
ブラウザなどでダウンロードするもよし、gitでダウンロードするもよし。
+
<!--
 +
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向けに統一する。
+
[[ソリューションファイル]]の中で指定されている各種[[ファイル]]が、[[ファイル名]]の大文字小文字を区別しない[[Windows]]向けに作られており、[[ファイル名]]の大文字小文字を区別する[[Linux]]/[[Unix]]では「ファイルがない」などのエラーとなるので統一する。
 
<source lang="bash">
 
<source lang="bash">
$ cd main
 
 
$ 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. xbuildコマンドでビルドする。
+
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
 
</source>
 
</source>
  
 +
 +
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">
 +
$ mkdir -p /opt/ironruby/lib
 +
$ cd bin/Release
 +
$ for f in *.exe *.dll *.config; do \
 +
    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
 +
</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}}
43行目: 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>
  
 
== 関連項目 ==
 
== 関連項目 ==
49行目: 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本体のソースコード
  
 
== 参考文献 ==
 
== 参考文献 ==
<references/>
+
{{reflist}}
  
 
{{stub}}
 
{{stub}}

2014年2月13日 (木) 04:32時点における最新版

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 との互換性は捨てられている。Ruby 1.8.6 との互換を希望するユーザーのために IronRuby 1.0 も継続して提供されているので、必要ならばそちらを使うこと。

インストール[編集 | ソースを編集]

Windows[編集 | ソースを編集]

IronRubyの公式サイトからインストーラーダウンロードして実行するだけである。

注意事項[編集 | ソースを編集]

RubyGemsはIronRubyをインストールしたディレクトリの中の「\Lib\ruby\gems\」ディレクトリ以下に配置されるため、IronRubyをデフォルトのままProgram Filesディレクトリにインストールすると、Windows Vita以降のセキュリティ制限により動かないので注意すること。

また、RubyGemsの中にはnmakeを用いる物も多々ある。nmakeは単品配布[1]、もしくはVisual Studio同梱の物を使うと良い。なお、nmakeへのパスが通っていないと次々とエラーがでることになる。Visual Studio同梱版の場合はcmd.exe起動時に一式のパスを通してくれる「Visual Studio コマンドプロンプト」というスタートメニューの中にあるショートカットから起動するという手もある。

Mono[編集 | ソースを編集]

以下は2012年3月14日時点でのインストール方法です。URLなど、IronRubyのバージョンはIronRuby 1.1.3(Ruby 1.9.2互換)を対象としています。

基本的にはIronRubyの公式サイトからzipファイルダウンロードしてきて展開するだけです。

# ダウンロード
$ 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

gemが動かない。


Mono(ソースコードから)[編集 | ソースを編集]

以下は2012年03月09日時点でのインストール方法であり、今後変更になる可能性がある。

1. GitHubからソースコードダウンロードする。

GitHubのサイト上からブラウザダウンロードして展開する。

$ wget "https://github.com/IronLanguages/main/zipball/v1.1.3"
$ unzip v1.1.3
$ cd IronLanguages-main-93ce72d/

2. ファイル名の大文字小文字を統一する。

ソリューションファイルの中で指定されている各種ファイルが、ファイル名の大文字小文字を区別しないWindows向けに作られており、ファイル名の大文字小文字を区別するLinux/Unixでは「ファイルがない」などのエラーとなるので統一する。

$ 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などの各種スクリプト。

$ for f in Languages/Ruby/Scripts/bin/*; do \
    install $f /opt/ironruby/bin; \
  done


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で終了)


まだgemが動かせていない。 Windowsのigem.batは動くんだがねぇ。


IronRuby Tools[編集 | ソースを編集]


RubyGems[編集 | ソースを編集]

IronRubyでRubyGemsを使うには「ir -S gem」コマンドを使う。このコマンドをバッチファイルにしたigem.batという物もあるのでそちらを使っても良い。

簡単な使い方を表示する[編集 | ソースを編集]

引数を省略すると簡単なヘルプが表示される。 全コマンドが表示されるわけではないので注意すること。

igem

基本的には本家Rubyのgemコマンドとほぼ同じなので、詳細はRubyGemsの公式サイト上のドキュメントを見ておくとよい。

標準パッケージをアップデートする[編集 | ソースを編集]

igemコマンドに「--no-ri --no-rdoc」というオプションを付けることでドキュメントの生成を抑制する。 RubyGemsのインストールやアップデートのうち、大半の時間はドキュメント生成なので、このオプションを付けることで驚くほど高速化することができる。

また、「-V」オプションを付けることで途中経過を表示することができる。通常は正常終了するか異常終了するまで何も画面にでないので本当に動いているか不安になるので、極力付けた方がよい。

igem update --system --no-ri --no-rdoc -V

インストールされているパッケージの一覧を表示する[編集 | ソースを編集]

igem list --local

RubyGemsで配布されているパッケージの一覧を表示する[編集 | ソースを編集]

なお、RubyGemsで配布されているパッケージは膨大な数にのぼるので、とてつもなく時間がかかる。

igem list --remote

パッケージをインストールする[編集 | ソースを編集]

たとえばrakeをインストールする場合は以下のようにする。

igem install rake -V --no-ri --no-rdoc

関連項目[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]

参考文献[編集 | ソースを編集]