なんだこれは

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

手動alternative ruby 1.8.5の場合

やっぱりインストールした手続き書いておく。

前回に書いた通り、fu7mu4の桶屋(10.4.7 iBookG4)にはreadlineが既にWorkShopによってインストールされている。

./configure --prefix=/usr/local/ruby/1.8.5 \
 --enable-pthread --with-readline-dir=/usr/local

make

make test

sudo make install

これで/usr/local/ruby/1.8.5/binにerb,irb,rdoc,ri,ruby,testrbが作られる→/usr/binの同名ファイルをリネームして、symboliclinkを/usr/binに貼る。

これで/usr/local/ruby/1.8.5/libにlibruby-static.aとrubyが作られる→/usr/libに同名のファイルがあればリネームして、symboliclinkを/usr/libに貼る。

これで/usr/local/ruby/1.8.5/share/man/man1にruby.1が作られる→/usr/share/man/man1/ruby.1をリネームして、symboliclinkを/usr/share/man/man1に貼る。

security update 2006-003 v1.1 がリリース

リリースされていたので適応。例の画像でOSXが固まっちゃうよとかいうやばいbugが修正されたとのこと。素直に喜ぶべきか、遅いというべきか。

rubyの修正が出ていたので、適応後versionを見ると1.8.2だったので、自分でいれたruby 1.8.4のバイナリへリンクを張り直して終了。

手動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]の共存ができました。