はげたかの気ままな日記

ページビュー
73632

2011-08-31

rvm設置ミスからrbenvで回復までの流れ。

| 19:24

svmというScalaのバージョン管理シェルをみていてわかったことがある。それは、手動でコンパイルしたCRubyをrvmに入れることは可能だということ。さて、やってみるか。

emacs ~/.bash_profile
で開いて項目に、
export CC=gcc-4.2
を追加

すでに

http://d.hatena.ne.jp/emerald00/searchdiary?of=5&word=rvm

で紹介しているので、rvmのことは割愛。

そのまえに、なぜruby-1.9.2-p290がrvmで入らなくなったか。

./configure --prefix=/Users/takayuki(例)/.rvm/rubies

/ruby-1.9.2-p290 --enable-shared --disable-install-doc--with-libyaml-dir=/Users/takayuki(例)/.rvm/usr

configure: WARNING: unrecognized options:--with-libyaml-dir

checking build system type... i386-apple-darwin11.1.0

checking host system type... i386-apple-darwin11.1.0

checking target system type... i386-apple-darwin11.1.0

./configure: line 2881: syntax error near unexpected token `else'

./configure: line 2881: `else

こんなようなエラーログを吐くようになったのもたぶんこれ、

http://d.hatena.ne.jp/mrkn/

Ruby 1.9.2p290 の Lion 対応パッチを更新

$ curl -o ruby-1.9.2-lion.patch https://raw.github.com
/gist/1126816/e2f53ecdbfb21824b78b84ef681aa949eb743055
/ruby-1.9.2-lion_20110805.patch
$ rvm install ruby-1.9.2 --patch ruby-1.9.2-lion.patch

としたことがエラーを吐く原因ぽい。

因果関係はさだかではないが、入らないのは事実。

じゃあ、svmのようにrvmへ追加してみる。

CRubyを、本家サイトからダウンロードhttp://www.ruby-lang.org/ja/news/2011/07/15/
ruby-1-9-2-p290-is-released/

例/Users/takayuki/downloads/などで展開。

次に、MacVimを開き
:!open .rvm
.rvmフォルダを開く。

そのrubiesに空の「ruby-1.9.2-p290」フォルダを作成する

ターミナルから、
./configure --prefix=/Users/takayuki/.rvm/rubies/
ruby-1.9.2-p290

make

make install

make clean

rvm list

rvm use ruby-1.9.2 --default

と実行したら、Lion対応のRuby1.9.2の設定完了。

どうしてもRubyの最新バージョンで環境にあったものをrvmに入れたかったらこんなこともできるよっていう形です。最終手段にしてください。失敗して、何か不具合があっても私ではなくRubyバグで報告願います。( ̄^ ̄)ゞ。

後日談:gemが古かったので、新しくするために

gem update --system

ってしたら、

invalid date format in specification:

"2011-08-31 00:00:00.000000000Z"

ってエラー。

http://d.hatena.ne.jp/h5y1m141/20110812/p1

を参考に、対象ファイルのdate部分を"2011-08-31"に修正したらエラーがなくなりました。

追記:あと、空白の部分に広告が入ることを知りませんでした。

欠陥があることを知りました。

どうやらこれでrvmを使用するとバージョンを切り替えれないみたいです。どうしようってところです。でも、gemsetは使えるので特にバージョンでは困りません。代用としてrvmほど、機能はありませんが、rbenvというバージョン管理で現在動いています。動作もサクサクですね。