なんだこれは

はてなダイアリーから移転しました。

手動alternatives rubyの場合

この記事の通りにするとirbが動きません。更新記事もあわせてみてください。

Tigerのプレインストールのrubyがアレらしいので入れ替えることにした。本当はfu7mu4はrubyを殆ど使ってないのですけどね。ま、練習ですよ、練習。

locate '*ruby*'でチェックすると、/usr/bin/rubyと/usr/lib/libruby.1.dylibが実体らしい。rubyruby-1.8.2.orgにリネームし、ln -s /usr/bin/ruby-1.8.2.org rubyしてから、ruby --versionで1.8.2を確認する。やはりシンボリックリンクで大丈夫だ。

ruby-1.8.4.tar.gzをダウンロードしてからREADME.jaを読み、./configure --helpすると/usr/local以下にインストールすることがわかる。かぶらないので助かるなぁ。適当なprefixでインストールしてみるテスト。

./configure --prefix=/somewhere/over/the/rainbow
make
make test
make install
cd /somewhere/over/the/rainbow/bin
./ruby --version
ruby --version 

問題なく1.8.4と1.8.2と出る。おおう、bin以下にerb,irb,rdoc,ri,testrbがあるじゃないか。消去する。再度、prefixなしでインストールし直して、/usr/local/bin/ruby --versionで1.8.4を確認する。

それからシンボリックリンク貼り直す。

ここでrubyを削除しているのはコピーをとったからです。

cd /usr/bin
sudo rm ruby
sudo ln -s /usr/local/bin/ruby ruby
sudo mv erb erb-1.8.2.org
sudo mv irb irb-1.8.2.org
sudo mv rdoc rdoc-1.8.2.org
sudo mv ri ri-1.8.2.org
sudo mv testrb testrb-1.8.2.org
sudo ln -s /usr/local/bin/erb er
sudo ln -s /usr/local/bin/irb irb
sudo ln -s /usr/local/bin/irb irb
sudo ln -s /usr/local/bin/rdoc rdoc
sudo ln -s /usr/local/bin/ri ri
sudo ln -s /usr/local/bin/testrb testrb

これで、ruby 1.8.4 (2005-12-24) [powerpc-darwin8.5.0]とruby 1.8.2(2004-12-25) [powerpc-darwin8.0]の共存ができました。