ruby 1.8.7-p72 リリースされた。
前回の記事と同じくインストールした。
rubyの脆弱性対策
そういえば、rubyのバージョンをあげてみようと思う。
というのは、こういうのをみたからだ。http://d.hatena.ne.jp/hiro-ueda/20080621/1213975487
任意コードですか、そうですか...orz
rubyを入れ替えてみよう。
続きを読む手動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に貼る。
手動alternatives rubyの場合
この記事の通りにするとirbが動きません。更新記事もあわせてみてください。
Tigerのプレインストールのrubyがアレらしいので入れ替えることにした。本当はfu7mu4はrubyを殆ど使ってないのですけどね。ま、練習ですよ、練習。
locate '*ruby*'でチェックすると、/usr/bin/rubyと/usr/lib/libruby.1.dylibが実体らしい。rubyをruby-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]の共存ができました。