アインシュタインの電話番号
2011.02.17
HomebrewをインストールしてMacPortsをアンインストールする

ちょっと前から時々Homebrewの名前を見かけていて、MacPortsより速くインストールできるとか、Ruby製だとかで気になってた。ので、HomebrewをインストールしてMacPortsをアンインストールしてみた。

Homebrewのインストール

Xcodeがインストールされていることが前提。入ってなければインストールする。

Homebrew ― MacPorts driving you to drink? Try Homebrew!

なお、Mac OS Xをクリーンインストールしたばかりの状態だと、/usr/localのフォルダが存在しないので、先に作っておく。

$ sudo mkdir /usr/local

Xcodeが入っている状態で、以下のコマンドでHomebrewをインストールする。

/usr/bin/ruby -e "$(curl -fsSL [https://raw.github.com/gist/323731](https://raw.github.com/gist/323731))"

最後に、/usr/binより/usr/local/bin (こちらにHomebrew経由でインストールされる)を優先するために、~/.bashrcに以下を追加する。

export PATH=/usr/local/bin:$PATH

Homebrewの基本

Formula

インストールできるパッケージ用のレシピ(Rubyスクリプト)のことをFormulaと呼ぶらしい。 最初「フォーミュラってF1の?」と思ったけど、辞書で調べると「調合法」や「処方箋」などの意味があるみたい。それを知ってなんか納得。

基本コマンド

とりあえず、これくらいのコマンドを覚えれば、普通に使う分には事足りそう。RubyGemsやRVMに似たわかりやすいコマンドでうれしい。

||| |-|-| |brew search [hoge]|文字列の部分マッチでFormulaを検索| |brew search [/hoge/]|正規表現のマッチでFormulaを検索| |brew install [formula]|指定したFormulaをインストール| |brew remove [formula]|指定したFormulaをアンインストール| |brew list|インストール済みのFormulaをすべて表示| |brew info [formula]|インストール済みのFormulaの詳細情報を表示| |brew update|Gitを利用してHomebrewおよびインストール済みFormulaのアップデート| |brew cleanup [formula]|すべての古いバージョンのFormulaを削除。Formulaを指定した場合、そのFormulaに対してのみ|

さらに詳しいコマンドやFormulaレシピの作り方については、以下のページが詳しい。

KOSHIGOE学習帳 - Homebrew 使い方メモ

MacPortsのアンインストール

インストールしたHomebrewを使おうとすると「MacPortsをアンインストールしたほうがいいよ」的なことを言われるので、このページを参考にMacPortsをアンインストールする。なんか色々問題が出そうな気がするけど、まぁやってみる。

$ sudo port -f uninstall installed

MacPortsでインストールしたパッケージもアンインストールする。

$ sudo rm -rf \
    /opt/local \
    /Applications/DarwinPorts \
    /Applications/MacPorts \
    /Library/LaunchDaemons/org.macports.* \
    /Library/Receipts/DarwinPorts*.pkg \
    /Library/Receipts/MacPorts*.pkg \
    /Library/StartupItems/DarwinPortsStartup \
    /Library/Tcl/darwinports1.0 \
    /Library/Tcl/macports1.0 \
    ~/.macports

Homebrewを使ってインストール

MacPortsを消したので、今まで使っていたパッケージも消えた。から、Homebrewを使ってとりあえず必要そうなパッケージを適当にインストールする。GitはHomebrewのアップデートとかに使われるので、まず最初に入れておくと良いっぽい。

$ brew install git
$ brew install curl
$ brew install tree wget w3m
$ brew install mysql

readline

Ruby 1.8.7のirbで日本語入力するときに必要なreadlineは、ただインストールするだけではダメで、その後にlinkコマンドを実行しないといけないらしい。こちらを参考にした。

$ brew install readline
$ brea link readline

PostgreSQL

PostgreSQLは普通にインストールしようとしたら、以下のようなエラーが出て失敗した。

$ brew install postgresql
==> Downloading ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz
curl: (7) couldn't connect to host
Error: Failure while executing: /usr/bin/curl -f#LA 'Homebrew 0.7.1 (Ruby 1.8.7-174; Mac OS X 10.6.6)' ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz -o /Users/ruedap/Library/Caches/Homebrew/ossp-uuid-1.6.2.tar.gz

で色々ネットを探しまわって、以下の方法で解決できた。

problem installing postgresql | Quick Archive Test

curlでローカルにMacPorts用のuuidをコピーしてからやるとうまくいくっぽい。よくわからんけど、たしかにうまくいった。

$ curl [http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/ossp-uuid/uuid-1.6.2.tar.gz](http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/ossp-uuid/uuid-1.6.2.tar.gz) -o $HOME/Library/Caches/Homebrew/ossp-uuid-1.6.2.tar.gz
$ brew install postgresql
==> Downloading ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz
File already downloaded and cached to /Users/ruedap/Library/Caches/Homebrew
(以下略)

今のところインストールしたのは上記だけなので、さほど違いはわからないけど、少なくともSQLの2つはうろ覚えのMacPortsよりはインストール時間が短かった気がする。


MacPortsからHomebrewに移行しつつある | tech.portalshit.net - CakePHP, Rails, JavaScript Webデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.06 | FJORD, LLC PostgreSQL 9.0.2のインストール(Mac OS X 10.6 Snow Leopard) - komagata [p0t] Macでhomebrewをアンインストールする - foldrrの日記