homebrew

brew tapとは

More than 1 year has passed since last update.

brew tapってなんだろうと調べて有用そうなものがgithubしかなさそうだったので、和訳をしました。せっかく読んでも使わないと忘れる(使わなそうな)のでここに残します。 https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/brew-tap.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なら、リポジトリ名はhomebred-何かのようにする必要があります。そうしないと、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によって解決できる。