yohasebe.com


Wed Sep 02 12:13:51 +0900 2009

Snow LeopardでのRuby環境再構築

先月末にリリースされたSnow LeopardをMacBook Pro にインストールした。何だか動作が軽くなったと喜んでいたのもつかの間、開発系を中心に、動かないプログラムがいくつも出てきた。どうもアーキテクチャがi386からx68_64になったことが原因らしい。

一番困ったのはRubyが上手く動かないことだ。ネイティブコンパイルされたgemのモジュール群を入れ直す必要がある。しかし、それらのモジュールが参照しているライブラリも影響を受けているので、MacPortsとそれで入れたライブラリを全部入れなおす。以下はいくつかのサイトを見ながら自分が行った手順だが、記憶違いもあるかもしれないのであくまで参考ということで。

最新版Xcodeのインストール

まずはXcodeをSnow Leopardのインストールディスクに含まれる最新版にアップデートする。これをしないといろいろ上手くいかない。

MacPortsの削除

$ sudo port -f uninstall installed

Rubygemsの削除

全てのgemsのリストをバックアップしてから削除。

$ gem list | cut -d" " -f1 > installed_gems
$ sudo gem list | cut -d" " -f1 | xargs sudo gem uninstall -aIx

MacPortsの再インストール

次に Installing MacPorts から Snow Leopard 用のバイナリ(早くもリリースされていた!)を取ってきてインストールして、各portを再インストールする(これらはx68_64でコンパイルされるらしい)。

自分の場合は以前の日記でインストールしているportをリストアップしていたので、手間が減ってよかった。加えて、

$sudo port install ruby

でruby @1.8.7-p174をインストールしたが、Snow Leopard では標準でインストールされるRubyのバージョンが1.8.7に上がっているのでこれは不要だったと思う。。

Rubygemsの再インストール

$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
$ tar xzvf ./rubygems1.3.5
$ cd rubygems-1.3.5
$ ./configure
$ make
$ sudo make install

各gemの再インストール

cat installed_gems | xargs sudo gem install

ほとんどのgemをこのやり方で正しくインストールできた。ただし、MacPortsを使わずにコンパイルしたライブラリや、どこかからバイナリを落としてきたライブラリを参照しているgemはその限りでない。自分の場合は RSRubyが上手くインストールできなかった。

その他、Snow Leopardの導入によって、TextMateの挙動がおかしくなったり(後日修正パッチがリリースされた)、Cisco VPN Clientが使えなくなったり、SIMBLが使えなくなったり、いくつか不具合も出てきたが、それ以外、概ね快適に使えている。RSRubyの件だけは早急に何とかしたい。Rを自分でコンパイルしさえすればなんとかなると思う。

参考サイト

Prev entry | | Next entry



大学関係


計算機プログラミング


その他いろいろ


--