brew tap
brew tap
コマンドは、Homebrewが管理・更新・インストールするフォーミュラのリストに、公式以外のリポジトリ(サードパーティリポジトリ)を追加するためのものです。デフォルトではGitHub上のリポジトリが想定されていますが、必ずしもGitHubに限りません。
-
引数を指定せずに
brew tap
とすると、現在tapされているすべてのリポジトリが表示されます。
例:$ brew tap homebrew/cask homebrew/core petere/postgresql
-
brew tap <user>/<repo>
は、https://github.com/<user>/homebrew-<repo>
のリポジトリを$(brew --repository)/Library/Taps
に浅いクローンを作成します。その後、Homebrewはこれらのフォーミュラをhomebrew/coreの公式リポジトリと同様に扱えるようになり、brew [un]install
でインストールやアンインストールが可能、またbrew update
で自動更新されます。 -
brew tap <user>/<repo> <URL>
は、指定された_URL_からリポジトリの浅いクローンを作成します。1引数版と異なり、_URL_はGitHubである必要はなく、HTTPである必要もありません。ただし、GitHub以外のtapでは自動更新を有効にするために、brew tap --force-auto-update <user>/<repo>
の実行が必要です。 -
(
--full
を付与すると完全なコピーが作成されます。) -
brew tap --repair
は、シンボリックリンクベースからディレクトリベースの構造へフォーミュラを移行します。(通常は一度だけ実行すれば十分です。) -
brew untap user/repo [user/repo ...]
で指定したtapを削除できます。複数のtapも同時に削除可能です。
リポジトリの命名規則と想定
GitHubでは、リポジトリ名はhomebrew-何か
とする必要があります(接頭辞「homebrew-」は必須)。ただし、コマンドラインでbrew tap
を使用する際は、brew tap username/foobar
のように「homebrew-」を省略してもかまいません。Homebrewは必要に応じて自動的に「homebrew-」を補完します。
フォーミュラの名前が重複している場合
あなたのtapに、homebrew/coreにも存在するフォーミュラが含まれていても問題ありませんが、あなたのバージョンをインストールする際は、<user>/<repo>/<formula>
のように完全修飾名を指定する必要があります。
brew install foo
を実行すると、Homebrewは以下の順序でフォーミュラを検索します:
- 公式(core)のフォーミュラ
- その他のtap
特定のtapからインストールする場合は、完全修飾名を使用してください。
例:
brew install vim # homebrew/coreからインストール
brew install username/repo/vim # カスタムtapからインストール
そのため、カスタマイズしたフォーミュラは、インストールを容易にするために新しい名前を付けることが推奨されます。
参考