rvmとは
Ruby Version Manager
Rubyの複数の実行環境を管理するツール。これをcygwinで使ってみた。
(注:新バージョンになってかなり変わった。このページも修正が必要。)
rvm インストール
要 curl, git
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
~/.bash_profile等に以下を追加する
if [[ -s $HOME/.rvm/scripts/rvm ]] ; then source $HOME/.rvm/scripts/rvm ; fi
rubyインストール
rvmで使えるrubyのバージョンを表示する
rvm list known
jrubyの最新版をインストールしてみる
rvm install jruby
ruby-1.9.2をインストールしてみる
cygwinで普通にインストールするとwin32oleのコンパイルでエラーがでる(1.9.2 rc2)。原因は、/usr/lib/w32apiの下にあるライブラリをリンクしようとするが、このディレクトリが-Lオプションで指定されていないため。これを回避するため、あらかじめ~/.bash_profileに
export LIBRARY_PATH=/usr/lib/w32api:$LD_LIBRARY_PATH
を追加し、"source ~/.bash_profile"する。
そして
rvm install 1.9.2 -C "--enable-shared optflags='-O2 -march=native'"
ruby-1.8.7をインストールしてみる
rvm install 1.8.7 -C "--enable-shared optflags='-O2 -march=native'"
eval.cの211行目でエラーが出る(1.8.7-p302)。
int _setjmp(), _longjmp();
原因は、/usr/include/machine/setjmp.h で _longjmp() は void型になっているため。これを回避するため、この行を
int_setjmp(); void _longjmp();
と修正し、再びトライ。今度は gc.c でエラー。43行目に
int _setjmp(), _longjmp();
があるので、同様に修正し、再びトライ。
デフォルトrubyの設定
ruby-1.9.2を使う
rvm use 1.9.2
システムの(rvmに管理されていない)rubyを使う
rvm reset
参考
最終更新:2011年07月10日 17:53