Skip to content

homebrew でパッケージを管理する

Mac OS X でのパッケージ管理ソフトウェアには FinkMacPorts があります。これらはとても便利ですが、以下のように少し不便な点があります。

  1. 既に Mac OS X 上にインストールされているパッケージでも、依存関係上、必要であればインストールしてしまう
  2. Fink なら /sw 配下、MacPorts なら /opt 配下にリソースを配置するが、標準ではこれらのディレクトリにパスは設定されていない為、追加のパス設定が必要になってしまう

そこで代替手段として homebrew というパッケージ管理ソフトウェアを利用することが出来ます。homebrew には以下のような特徴があります。

  1. 依存関係上、必要であっても Mac OS X 上に既にインストールされているパッケージなのであれば追加インストールはせず、既存のものを利用するので、ディスクスペースの消費を抑えつつ、コンパイル時間を大幅に短縮することが出来る
  2. /usr/local 配下にリソースを配置するが、標準で /usr/local/bin にはパスが設定されている為、追加の設定が不要

インストールの必要条件

インストールガイド によると、前提条件として以下が必要だそうです。

  1. インテル CPU
  2. Leopard 以降の Mac OS X
  3. Xcode と X11
  4. JRE

私の Snow Leopard 環境では以下の通り、JRE 1.6.0_22 が標準でインストールされていましたので、追加で必要だったのは Xcode だけでした。

1
2
3
4
$ 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 のインストールは簡単で、ターミナルから以下のコマンドを実行するだけです。

1
$ 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 がインストールされていないとエラーになってしまいます。

1
2
$ brew update
Please `brew install git' first.

早速、homebrew を使って git をインストールしておきます。

1
2
3
4
5
6
7
8
9
$ 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 自身のバージョンを表示します。

1
2
$ brew -v
0.7.1

Fomula を検索する

"search [Fomula 名]" を指定することで、指定した Fomula が homebrew に存在するか、検索することが出来ます。

1
2
$ brew search tmux
tmux

Fomula の情報を表示する

"info [Fomula 名]" を指定することで、指定した Fomula の情報を表示することが出来ます。

1
2
3
4
5
6
$ 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)の一覧を表示することが出来ます。

1
2
$ brew list
git     libevent    tmux