【ホームブルー】

Homebrew(ホームブルー) とは?

最終更新:
💡 ソフトの導入と更新を、コマンドで管理する

macOSやLinuxで、コマンドからソフトウェアの導入・更新・削除を管理するパッケージマネージャー。Formula・Cask・Bottleの違い、updateとupgradeの使い分け、WSLでの利用を解説します。

📌 このページのポイント
Homebrew:コマンドでソフトを管理brew install jq対応するソフトと依存関係を導入update管理情報を更新outdated更新候補を確認upgrade導入済みを更新それぞれ brew に続けて指定するFormulaパッケージの定義Bottleビルド済みのものCaskアプリなどの導入定義Tap定義等のリポジトリ対応環境・必要な権限は個別に確認WindowsではWSLのLinux環境で利用
操作と用語の一覧で、実行順を固定する図ではありません。updateだけでは導入済みのソフトは更新されず、BottleやCaskの対応は個別に確認します。
ひよこ ひよこ
Homebrewは、何をしてくれるの?
ペンギン先生 ペンギン先生
ソフトウェアの導入・更新・削除を管理する道具だよ。対応するMacやLinux環境で使える。たとえばHomebrewを準備してから brew install jq と指定すると、jqと必要な依存パッケージを導入できるんだ。
ひよこ ひよこ
ダウンロードしたソフトを全部、自分のPCで作るの?
ペンギン先生 ペンギン先生
必ずではないよ。Formulaは導入方法などを書く定義で、対応する環境にBottleというビルド済みのパッケージがあればそれを使う。Bottleが使えない場合などは、ソースからのビルドが必要になるんだ。
ひよこ ひよこ
Macのアプリも入れられる?
ペンギン先生 ペンギン先生
対応するCaskがあれば、brew install --cask google-chrome のように導入できるよ。Caskは提供元のビルド済みアプリなどを扱う定義だ。どのOSに対応するかや、追加の権限が必要かは、そのパッケージの情報を確認しよう。
ひよこ ひよこ
updateとupgradeは同じ?
ペンギン先生 ペンギン先生
brew update はHomebrew本体とパッケージの管理情報を更新する。brew outdated で更新候補を見て、brew upgrade で導入済みのパッケージを更新するよ。特定のものなら brew upgrade jq のように指定できる。依存関係にあるほかのパッケージも更新される場合があるんだ。
ひよこ ひよこ
Windowsでも使えるの?
ペンギン先生 ペンギン先生
WSLのLinux環境で利用できるよ。公式はWSL 2を推奨している。ただし、Windowsアプリを直接管理する道具と同じではない。Linux側のソフトウェアを導入する仕組みとして考えよう。
もっと詳しく知りたい人へ

brew doctor が成功したら、すべてのソフトが正常に動く?

brew doctor はHomebrewの環境で起こりそうな問題を調べるコマンドです。導入したアプリの全機能や、利用するプロジェクトの動作まで保証するものではありません。出た警告の内容と、実際の利用環境を合わせて確認します。

更新前のバージョンを自由に組み合わせられる?

Homebrewは、Formulaの任意のバージョンの組合せをすべてサポートする仕組みではありません。pinで更新を抑える方法はありますが、依存するほかのパッケージのために更新が必要になる場合があります。プロジェクトの厳密なバージョン管理は、その言語の管理ツールや実行環境の固定と合わせて考えます。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Homebrew」って出てきたら「対応するソフトウェアをコマンドで管理する道具」と思えばだいたいOK!
📖 おまけ:英語の意味
「Homebrew」 = 自家醸造
💬 Formula、Bottle、Cellar、Tapなど、醸造に関連する名前が使われています。パッケージの定義とビルド済みの成果物は区別します。

参考資料

← 用語集にもどる