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 だけでした。

$ 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 で追加していた為、パスワードを要求されませんでした。

$ 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 自身のバージョンを表示します。

$ brew -v
0.7.1

Fomula を検索する

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

$ brew search tmux
tmux

Fomula の情報を表示する

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

$ brew info tmux
tmux 1.3
Best Open Source Mac Software 2022
Compare the best free open source Mac Software at SourceForge. Free, secure and fast Mac Software downloads from the largest Open Source applications and soft...
Depends on: libevent Not installed
History for Library/Formula/tmux.rb - Homebrew/legacy-homebrew
💀 The former home of Homebrew/homebrew (deprecated) - History for Library/Formula/tmux.rb - Homebrew/legacy-homebrew

Fomula のインストール

"install [Fomula 名]" を指定することで、指定した Fomula をインストールします。

$ 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 情報をアップデートします。

$ 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

コメント

タイトルとURLをコピーしました