HomebrewのFormula
やCellar
などのbrew語について理解が及んでいないため、基礎から理解していく過程で知ったことをメモしていく。
Homebrewとは
Homebrewは、macOS、Linux、Windows Subsystem for Linuxで動作するパッケージ管理システムのひとつです。
Homebrewは自家醸造という意味で、内部で使われる用語も醸造に合わせた用語となっています。酒好きにはたまらないです。ですが、パッケージの管理はできても、ご自身のお酒の管理まではできないので、ご注意願います。
公式
環境
os: macOS Monterey 12.5
machine: MacBook Air(Retina, 13-inch, 2018)
cpu: 1.6GHz デュアルコアIntel Core i5
インストール
すでにインストール済みだったため、今回homebrewのインストールについては割愛させていただきます。
下記にドキュメントがあるためこちら参照願います。
全体像
パッケージインストールした際の全体像を簡単に絵にしてみました。
自家醸造をモチーフとしてますので、Homebrew内の流れは醸造をイメージした絵としました。(醸造は詳しくないので、醸造という観点で見た際におかしいところあるかもしれませんが、ご容赦を。)
各用語は後述します。
用語解説
Homebrewで使われる用語について解説します。
公式の一覧には他にもありますが、気が向いたら補完します。
用語 | 説明 | ディレクトリ |
---|---|---|
Tap(蛇口) | パッケージのインストールスクリプトを含むgitリポジトリ |
${Repositoryホーム}/Library/Taps/ ${ユーザ}/${リポジトリ}
|
Formula(レシピ) | パッケージのインストールスクリプト |
${Repositoryホーム}/Library/Taps/ ${ユーザ}/${リポジトリ}/Formula
|
Cellar(酒蔵) | インストールされたバージョンごとのパッケージを管理する場所 | ${Cellarホーム} |
Keg(酒樽) | インストールされたバージョンごとのパッケージ | ${Cellarホーム}/${パッケージ名}/${バージョン} |
Bottle(ボトル) | パッケージのビルド済みバイナリ | - |
${Repositoryホーム}
はbrew --repository
で確認できます。
${Cellarホーム}
はbrew --cellar
で確認できます。
公式では下記ページに解説があります。
Tap
パッケージのインストールスクリプト(Formula)を含むgitリポジトリです。
Tapの一覧はbrew tap
で確認できます。
% brew tap
homebrew/core
Tapの追加も可能です。今回は割愛します。
Formula
パッケージのインストールスクリプトです。Tapに含まれます。
Formulaはbrew search ${キーワード}
で検索し確認できます。インストール済みにはチェックマークがつくようです。
% brew search git
==> Formulae
git ✔ git-imerge git-tracker legit
(省略)
パッケージは、パッケージをビルドしてインストールされるか、ビルド済みバイナリ(Bottle)を展開しインストールされます。
Cellar
インストールされたバージョンごとのパッケージ(Keg)を管理する場所です。
Kegはbrew list
で確認できます。
% brew list
==> Formulae
git xxx yyy zzz
Keg
インストールされたバージョンごとのパッケージです。Cellarに含まれます。
/usr/local/bin
等からからシンボリックリンクで参照し利用されます。
Bottle
パッケージのビルド済みバイナリです。
よく使うコマンド
- brewアップデート
% brew update
- パッケージインストール
% brew install package_name
- 更新可能なパッケージ一覧
% brew outdated
- パッケージアップデート
% brew upgrade package_name
- インストール済みパッケージのバージョンを調べる
% brew list --version | grep package_name
package_name x.x.x