brew tapってなんだろうと調べて有用そうなものがgithubしかなさそうだったので、和訳をしました。せっかく読んでも使わないと忘れる(使わなそうな)のでここに残します。 https://github.com/Homebrew/brew/blob/master/docs/Taps.md
#brew tap
brew tap
とは公式以外のリポジトリをフォーミュラとしてHomebrewに追加するもので、brewのもとでinstall,uninstall,updateなどが行えます。もちろん自分が公開しているものも簡単に追加できます。
#コマンド
他の引数を指定せずにbrew tap
とすると、最近tapで追加したものが表示されます。
$ brew tap
homebrew/dupes
mistydemeo/tigerbrew
edavis/emacs
-
brew tap <user/repo>
はtapの基本的な使い方で、https://github.com/user/repo のリポジトリの浅いクローンを作成します。そうすると、brewはこのリポジトリを公式のものとして認識するので、brew [un]install
によってインストールなどが行えます。加えて、brew update
によって自動にアップデートも行います。 -
brew tap <user/repo> <URL>
はURLから浅いコピーを作成します。上の1引数バージョンとは異なり、URLはGitHubにあることを想定していません。また、HTTPである必要はありません。 -
--full
を追加することで、完全なコピーをローカルに作成します。 -
brew tap --repair
は、フォーミュラがうまく動かない時に使うみたいです。 -
brew untap user/repo
で与えられたtapを削除します。また、一度に複数untapできたりします。
#リポジトリの命名規則
- GitHubなら、リポジトリ名は
homebrew-何か
のようにする必要があります。そうしないと、brew tap
で<URL>
の第2引数が必要になり、URLを指定する必要があります。(接尾辞がhomebrew-(何か)の場合は、brew tap (何か)
でtapできます)
#フォーミュラの名前が重複している時
もし追加したいリポジトリがすでに公式に存在する場合、brew tap-pin username/repo
によって優先順位をつけることができます。(これによって追加したpinはbrew tap-unpin username/repo
によって外します。)
brew install foo
した時、Homebrewはいつも次の優先順位でフォーミュラを探します。
- ピン留めされたtap
- 公式のフォーミュラ
- 他のtap
もし、公式にvimのフォーミュラがあり、他で公開されているvimを利用したい場合は、pinによって解決することができます。