homebrew でパッケージを管理する
Mac OS X でのパッケージ管理ソフトウェアには Fink や MacPorts があります。これらはとても便利ですが、以下のように少し不便な点があります。
- 既に Mac OS X 上にインストールされているパッケージでも、依存関係上、必要であればインストールしてしまう
- Fink なら /sw 配下、MacPorts なら /opt 配下にリソースを配置するが、標準ではこれらのディレクトリにパスは設定されていない為、追加のパス設定が必要になってしまう
そこで代替手段として homebrew というパッケージ管理ソフトウェアを利用することが出来ます。homebrew には以下のような特徴があります。
- 依存関係上、必要であっても Mac OS X 上に既にインストールされているパッケージなのであれば追加インストールはせず、既存のものを利用するので、ディスクスペースの消費を抑えつつ、コンパイル時間を大幅に短縮することが出来る
- /usr/local 配下にリソースを配置するが、標準で /usr/local/bin にはパスが設定されている為、追加の設定が不要
インストールの必要条件
インストールガイド によると、前提条件として以下が必要だそうです。
- インテル CPU
- Leopard 以降の Mac OS X
- Xcode と X11
- JRE
私の Snow Leopard 環境では以下の通り、JRE 1.6.0_22 が標準でインストールされていましたので、追加で必要だったのは Xcode だけでした。
| $ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
|
インストール
homebrew のインストールは簡単で、ターミナルから以下のコマンドを実行するだけです。
| $ ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
|
インストール中、sudo パスワードを求められるのですが、私の場合は自身を sudoers に NOPASSWD で追加していた為、パスワードを要求されませんでした。
1
2
3
4
5
6
7
8
9
10
11
12 | $ ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/Formula/...
/usr/local/Library/Homebrew/...
Press enter to continue
==> /usr/bin/sudo /bin/mkdir /usr/local
==> /usr/bin/sudo /bin/chmod g+w /usr/local
==> /usr/bin/sudo /usr/bin/chgrp staff /usr/local
==> Downloading and Installing Homebrew...
==> Installation successful!
|
git のインストール
homebrew は自身や管理パッケージ情報のアップデートに git を利用しますので、git がインストールされていないとエラーになってしまいます。
| $ brew update
Please `brew install git' first.
|
早速、homebrew を使って git をインストールしておきます。
| $ brew install git
==> Downloading http://kernel.org/pub/software/scm/git/git-1.7.3.3.tar.bz2
######################################################################## 100.0%
==> make prefix=/usr/local/Cellar/git/1.7.3.3 install
==> Downloading http://kernel.org/pub/software/scm/git/git-manpages-1.7.3.3.tar.bz2
######################################################################## 100.0%
==> Downloading http://kernel.org/pub/software/scm/git/git-htmldocs-1.7.3.3.tar.bz2
######################################################################## 100.0%
/usr/local/Cellar/git/1.7.3.3: 958 files, 18M, built in 51 seconds
|
使い方
homebrew は "brew" コマンドにオプションを指定して利用しますが、ここでは代表なものを記載しておきます。尚、homebrew ではパッケージのことを「Fomula」と呼ぶそうです。
バージョン情報の表示
"-v" を指定することで brew 自身のバージョンを表示します。
Fomula を検索する
"search [Fomula 名]" を指定することで、指定した Fomula が homebrew に存在するか、検索することが出来ます。
Fomula の情報を表示する
"info [Fomula 名]" を指定することで、指定した Fomula の情報を表示することが出来ます。
| $ brew info tmux
tmux 1.3
http://tmux.sourceforge.net
Depends on: libevent
Not installed
http://github.com/mxcl/homebrew/commits/master/Library/Formula/tmux.rb
|
Fomula のインストール
"install [Fomula 名]" を指定することで、指定した Fomula をインストールします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | $ brew install tmux
==> Downloading http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/libevent/1.4.14b
==> make install
/usr/local/Cellar/libevent/1.4.14b: 17 files, 840K, built in 21 seconds
==> Downloading http://downloads.sourceforge.net/tmux/tmux-1.3.tar.gz
######################################################################## 100.0%
==> Downloading patches
==> Patching
patching file server.c
==> ./configure
==> make install
/usr/local/Cellar/tmux/1.3: 2 files, 504K, built in 11 seconds
|
Fomula のアンインストール
"uninstall [Fomula 名]" オプションを指定することで、指定した Fomula をアンインストールすることが出来ます。
管理 Fomula 情報のアップデート
brew 自身と、管理 Fomula 情報をアップデートします。
1
2
3
4
5
6
7
8
9
10
11
12
13 | $ brew update
Initialized empty Git repository in /usr/local/.git/
remote: Counting objects: 27217, done.
remote: Compressing objects: 100% (16223/16223), done.
remote: Total 27217 (delta 14258), reused 21787 (delta 10462)
Receiving objects: 100% (27217/27217), 3.86 MiB | 931 KiB/s, done.
Resolving deltas: 100% (14258/14258), done.
From http://github.com/mxcl/homebrew
* branch master -> FETCH_HEAD
Updated Homebrew from TAIL to 88218821.
No formulae were updated.
No external commands were updated.
|
homebrew 管理下の Fomula を一覧表示する
"list" オプションを指定することで、homebrew 管理下の Fomula(つまり、homebrew でインストールした Fomula)の一覧を表示することが出来ます。
| $ brew list
git libevent tmux
|