brew tap
命令會將更多儲存庫加入 Homebrew 追蹤、更新和安裝的公式清單中。預設情況下,tap
假設儲存庫來自 GitHub,但此命令不限於任何一個位置。
brew tap
命令不帶參數的 brew tap
會列出目前已點選的所有儲存庫。例如
$ brew tap
homebrew/cask
homebrew/core
petere/postgresql
brew tap <user>/<repo>
會在 https://github.com/<user>/homebrew-<repo>
中複製儲存庫至 $(brew --repository)/Library/Taps
。之後,brew
將能夠使用這些公式,就像它們在 Homebrew 的 homebrew/core 正規儲存庫中一樣。您可以使用 brew [un]install
安裝和解除安裝它們,當您執行 brew update
時,公式會自動更新。(請參閱下方有關 brew tap
如何處理儲存庫名稱的詳細資訊。)
brew tap <user>/<repo> <URL>
會在 URL 中複製儲存庫。與單一參數版本不同,URL 不假設為 GitHub,而且它不必是 HTTP。任何 Git 能夠處理的位置和通訊協定都可以,儘管非 GitHub 水龍頭需要執行 brew tap --force-auto-update <user>/<repo>
以啟用自動更新。
brew tap --repair
會將已點選的公式從基於符號連結的結構移轉到基於目錄的結構。(這應該只需要執行一次。)
brew untap user/repo [user/repo user/repo ...]
會移除指定的點選。儲存庫會被刪除,而 brew
將不再知道它們的公式。brew untap
可以一次處理多個移除動作。
在 GitHub 上,你的儲存庫必須命名為 homebrew-something
,才能使用 brew tap
的單一參數形式。前綴「homebrew-」並非選項。(雙參數形式沒有這個限制,但它強制你明確提供完整的 URL。)
然而,當你在命令列上使用 brew tap
時,你可以省略指令中的「homebrew-」前綴。也就是說,brew tap username/foobar
可用作長版本的捷徑:brew tap username/homebrew-foobar
。只要有必要,brew
會自動加回「homebrew-」前綴。
如果你的 tap 包含 homebrew/core 中也存在的配方,這沒問題,但你需要以 <user>/<repo>/<formula>
的形式指定其完全限定名稱才能安裝你的版本。
每當發出 brew install foo
指令時,brew
會依據下列順序搜尋來選擇要使用的配方
如果你需要從特定 tap 安裝配方,你可以使用完全限定名稱來參照它們。
如果你要為替代的 vim
配方建立 tap,行為將會是
brew install vim # installs from homebrew/core
brew install username/repo/vim # installs from your custom repository
因此,我們建議你為自訂配方提供新名稱,如果你想要讓它們更容易安裝。請注意,(故意地)沒有辦法用其他 tap 中的依賴項取代核心配方的依賴項。