有时我会看到文章中提到在运行
brew install
之前需要先运行brew tap
命令。我想知道tap
是什么意思,为什么在运行install
之前必须先运行tap
?brew install
之前需要先运行brew tap
命令。我想知道tap
是什么意思,为什么在运行install
之前必须先运行tap
?tap命令允许Homebrew“接入”另一个软件公式的存储库。一旦您这样做,就扩大了可安装软件的选项。
这些额外的Git存储库(位于/usr/local/Homebrew/Library/Taps
内)描述了可以安装的软件包公式集。
例如:
brew tap # list tapped repositories
brew tap <tapname> # add tap
brew untap <tapname> # remove a tap
brew tap
会添加一个非官方的第三方软件仓库? - wisbuckybrew create <URL>
创建的ruby文件,其中URL是一个zip/tarball。这些ruby文件使用Formula API。它为Homebrew提供安装软件的指令和元数据。它们都是Formula类。 - ShifraSecbrew tap
命令会将更多的代码库添加到brew所跟踪、更新和安装的公式列表中
brew tap <user>/<repo>
会在https://github.com/user/homebrew-repo浅克隆代码库。请注意,brew tap
会在存储库名称前缀中加上"homebrew-"。然后,brew就可以像处理Homebrew的规范存储库中的公式一样处理这些公式
完整文档可以在此处找到,其中包含所有可用的选项。
package
≡ formula
≡ ruby file
:这通常涉及命令行(CLI)软件bottle
:二进制程序已经针对某些操作系统构建好了(macOS montery,macOS big_sur,arm64_monterey,arm64_big_sur,catalina,x86_64_linux)(配置和make
已完成)casks
:GUI程序或字体;这是homebrew的扩展,允许我们安装MacOS本地应用程序,例如:Google Chrome(brew cask install google-chrome
),iTerm(""iterm2
),Visual Studio Code(" " visual-studio-code
)等。以及安装字体:Roboto [Mono](""font-roboto
/""font-roboto-mono
),Latin Modern("" font-latin-modern
)等。taps
:[Github|Gitlab|...]存储库,包含额外的[下载的公式]软件包,这些软件包不是标准的,即没有纳入官方homebrew存储库,该存储库包含所有可下载的[公式]软件包。git clone
)。存储库中包含Ruby文件(公式),告诉Homebrew如何下载、配置、构建、安装等其他软件包的清单。然后,当您执行brew install X
时,brew
将浏览您本地拥有的官方/标准Homebrew存储库,如果没有找到X
的公式,则会浏览您的“taps”,如果找到了X
的公式,则运行它(该公式是一个ruby
文件)。/usr/local/Cellar/<package>
中,并带有指向/usr/local/bin
和/usr/local/lib
等位置的符号链接。/usr/local/Homebrew/Library/taps/homebrew/homebrew-core/formula
中。