cygwinでrvm


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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


参考

rvm本家
http://rvm.beginrescueend.com/
RVM(Ruby Version Manager)による環境構築
http://gihyo.jp/dev/serial/01/ruby/0039
RVM(Ruby Version Manager)による環境構築(2)
http://gihyo.jp/dev/serial/01/ruby/0040
rvm: 複数のRubyを共存させる最新のやり方CommentsAdd Star
http://d.hatena.ne.jp/mirakui/20100502/1272849327
rvmの紹介
http://tech.feedforce.jp/rvm-intro.html
rvm
http://qwik.jp/asakusarb/rvm.html
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。