brew --version
brew command [--verbose|-v] [options] [formula] …
Homebrew 是安装 Apple 未随 macOS 提供的 UNIX 工具的最简单、最灵活的方式。它还可以安装未针对你的 Linux 发行版打包的软件,而无需 sudo。
从上游源代码构建的 Homebrew 包定义
安装 macOS 原生应用程序的 Homebrew 包定义
Homebrew 安装到的路径,例如 /usr/local
给定公式版本的安装目标目录,例如 /usr/local/Cellar/foo/0.1
包含一个或多个版本化keg的目录,例如 /usr/local/Cellar/foo
如果公式未符号链接到 Homebrew 的前缀,则该公式为仅 keg
指向keg活动版本的符号链接,例如 /usr/local/opt/foo
包含一个或多个命名rack的目录,例如 /usr/local/Cellar
包含一个或多个命名cask的目录,例如 /usr/local/Caskroom
在 Homebrew/brew GitHub 存储库外部定义的brew子命令
公式、cask和/或外部命令的目录(通常是 Git 存储库)
预构建的keg,已导入Cellar的rack,而不是从上游源代码构建
有关完整命令列表,请参阅命令部分。
使用 --verbose 或 --debug 时,许多命令都会打印额外的调试信息。请注意,这些选项只能在命令后出现。
某些命令行为可以通过环境变量进行定制;请参阅 环境 部分。
install 公式安装 公式。
公式 通常是要安装的公式的名称,但它还有其他语法,这些语法列在 指定公式 部分中。
uninstall 公式卸载 公式。
list列出所有已安装的公式。
search [文本|/文本/]对 cask 令牌和公式名称执行子字符串搜索以查找 文本。如果 文本 被斜杠包围,则将其解释为正则表达式。文本 的搜索在线扩展到 homebrew/core 和 homebrew/cask。如果没有提供搜索词,则会列出所有可用的本地公式。
analytics [子命令]控制 Homebrew 的匿名汇总用户行为分析。请访问 https://docs.brew.sh.cn/Analytics 了解更多信息。
brew analytics [状态]显示 Homebrew 分析的当前状态。
brew analytics (on|off)分别打开或关闭 Homebrew 的分析。
autoremove [--dry-run]卸载仅作为其他软件包的依赖项而安装的软件包,并且现在不再需要。
-n, --dry-run列出将要卸载的内容,但实际上不会卸载任何内容。
casks列出所有可本地安装的 casks,包括简称。
cleanup [options] [formula|cask …]删除所有软件包和 casks 的过时锁定文件和过时下载,并删除已安装软件包的旧版本。如果指定了参数,则仅对给定的软件包和 casks 执行此操作。删除所有超过 120 天的下载。可以使用 HOMEBREW_CLEANUP_MAX_AGE_DAYS 进行调整。
--prune删除所有早于指定天数的缓存文件。如果你想删除所有内容,请使用 --prune=all。
-n, --dry-run显示将要删除的内容,但实际上不会删除任何内容。
-s清除缓存,包括最新版本的下载。请注意,任何已安装软件包或 casks 的下载仍不会被删除。如果你也想删除它们:rm -rf "$(brew --cache)"
--prune-prefix仅从前缀中删除符号链接和目录,不删除其他文件。
command command […]当调用 brew cmd 时,显示正在使用的文件路径。
commands [--quiet] [--include-aliases]显示内置和外部命令的列表。
-q, --quiet仅列出命令的名称,不带类别标题。
--include-aliases包括内部命令的别名。
completions [subcommand]控制 Homebrew 是否自动链接外部 tap shell 补全文件。请参阅 https://docs.brew.sh.cn/Shell-Completion 了解更多信息。
brew completions [state]显示 Homebrew 补全的当前状态。
brew completions (link|unlink)链接或取消链接 Homebrew 的自动补全。
config, --config显示 Homebrew 和系统配置信息,这对于调试很有用。如果您提交错误报告,您将需要提供此信息。
deps [options] [formula|cask …]显示 formula 的依赖项。当给出多个公式参数时,显示每个公式的依赖项的交集。默认情况下,deps 显示所有必需和推荐的依赖项。
如果每个公式参数的任何版本已安装并且没有传递其他选项,此命令将显示其实际运行时依赖项(类似于 brew linkage),如果已安装的版本已过时,则可能与当前版本的声明依赖项不同。
注意: --missing 和 --skip-recommended 优先于 --include-*。
-n, --topological按拓扑顺序对依赖项进行排序。
-1, --direct仅显示公式中声明的直接依赖项。
--union显示多个 formula 的依赖项的并集,而不是交集。
--full-name按其全名列出依赖项。
--include-build为 formula 包含 :build 依赖项。
--include-optional为 formula 包含 :optional 依赖项。
--include-test为 formula 包含 :test 依赖项(非递归)。
--skip-recommended为 formula 跳过 :recommended 依赖项。
--include-requirements为 formula 包含依赖项之外的要求。
--tree以树的形式显示依赖项。当给出多个公式参数时,为每个公式显示单独的树。
--graph以有向图的形式显示依赖项。
--dot以 DOT 格式显示基于文本的图形描述。
--annotate在输出中将任何构建、测试、隐式、可选或推荐的依赖项标记为这些依赖项。
--installed列出当前已安装的公式的依赖项。如果指定了公式,则仅列出其当前已安装的依赖项。
--missing仅显示缺失的依赖项。
--eval-all评估所有可用的公式和木桶,无论是否已安装,以列出其依赖项。
--for-each切换到 --eval-all 选项使用的模式,但仅列出每个提供的公式的依赖项,每行一个公式。这用于调试 --installed/--eval-all 显示模式。
--HEAD显示 HEAD 版本的依赖项,而不是稳定版本的依赖项。
--os显示给定操作系统的依赖项。
--arch显示给定 CPU 架构的依赖项。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
desc [选项] 公式|木桶|文本|/正则表达式/ […]显示公式的名称和一行描述。缓存是在第一次搜索时创建的,这使得该搜索比后续搜索慢。
-s, --search在名称和描述中同时搜索文本。如果文本两侧有斜杠,则将其解释为正则表达式。
-n, --name仅在名称中搜索文本。如果文本两侧有斜杠,则将其解释为正则表达式。
-d, --description仅在描述中搜索文本。如果文本两侧有斜杠,则将其解释为正则表达式。
--eval-all评估所有可用的公式和木桶,无论是否已安装,以搜索其描述。如果设置了 HOMEBREW_EVAL_ALL,则隐含此选项。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
developer [子命令]控制 Homebrew 的开发者模式。当开发者模式启用时,brew update 将把 Homebrew 更新到 master 分支上的最新提交,而不是最新的稳定版本,同时还会进行一些其他行为更改。
brew developer [state]显示 Homebrew 开发者模式的当前状态。
brew developer (on|off)分别打开或关闭 Homebrew 的开发者模式。
docs在浏览器中打开 Homebrew 的在线文档,网址为 https://docs.brew.sh.cn。
doctor, dr [--list-checks] [--audit-debug] [diagnostic_check …]检查系统是否存在潜在问题。如果发现任何潜在问题,将退出并显示非零状态。
请注意,这些警告仅用于在提交问题时帮助 Homebrew 维护人员进行调试。如果你使用 Homebrew 的所有功能都运行良好:请不要担心或提交问题;只需忽略此警告即可。
--list-checks列出所有审核方法,如果作为参数提供,可以单独运行这些方法。
-D, --audit-debug启用审核方法的调试和分析。
fetch [options] formula|cask […]下载 formula 的瓶子(如果可用)或源代码包,以及 cask 的二进制文件。对于文件,还会打印 SHA-256 校验和。
--os针对给定的操作系统下载。(传递 all 以针对所有操作系统下载。)
--arch针对给定的 CPU 架构下载。(传递 all 以针对所有架构下载。)
--bottle-tag下载给定标签的瓶子。
--HEAD获取 HEAD 版本,而不是稳定版本。
-f, --force删除先前缓存的版本并重新获取。
-v, --verbose如果 URL 表示 VCS,则执行详细的 VCS 签出。这对于查看现有 VCS 缓存是否已更新很有用。
--retry如果下载失败,则重试;如果先前缓存版本的校验和不再匹配,则重新下载。最多尝试 5 次,并采用指数级退避。
--deps还下载任何列出的公式的依赖项。
-s, --build-from-source下载源代码包,而不是瓶子。
--build-bottle下载源代码包(用于最终装瓶),而不是瓶子。
--force-bottle如果存在适用于当前或最新版本的 macOS 的瓶子,则下载该瓶子,即使在安装过程中不会使用该瓶子。
--[no-]quarantine禁用/启用下载的隔离(默认:启用)。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
公式列出所有可本地安装的公式,包括简称。
gist-logs [选项] 公式将公式的失败构建日志上传到新的 Gist。如果没有找到日志,则显示错误消息。
--with-hostname在 Gist 中包含主机名。
-n, --new-issue在创建 Gist 后,自动在相应的 GitHub 存储库中创建一个新问题。
-p, --privateGist 将被标记为私有,不会出现在列表中,但可以通过其链接访问。
help [命令 …]输出 brew 命令 的使用说明。相当于 brew --help 命令。
home, homepage [--formula] [--cask] [公式|cask …]在浏览器中打开公式或cask的主页,如果没有提供参数,则打开 Homebrew 自己的主页。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
info, abv [选项] [公式|cask …]显示 Homebrew 安装的简要统计信息。如果提供了公式或cask,则显示有关它的信息摘要。
--analytics列出全局 Homebrew 分析数据,或者如果指定,则列出公式的安装和构建错误数据(前提是未设置 HOMEBREW_NO_ANALYTICS 或 HOMEBREW_NO_GITHUB_API)。
--天数要检索的分析数据的天数。天数 的值必须为 30、90 或 365。默认值为 30。
--类别要检索的分析数据类型。类别 的值必须为 安装、按需安装 或 构建错误;如果未指定 公式,则可以指定 cask 安装 或 操作系统版本。默认值为 安装。
--github在浏览器中打开 公式 和 cask 的 GitHub 源页面。要在本地查看历史记录:brew log -p 公式 或 cask
--json打印 JSON 表示形式。目前,版本 的默认值为 公式 的 v1。对于 公式 和 cask,请使用 v2。请参阅文档以了解使用 JSON 输出的示例:https://docs.brew.sh.cn/Querying-Brew
--installed打印当前已安装公式的 JSON。
--eval-all评估所有可用的公式和 cask(无论是否已安装)以打印其 JSON。如果设置了 HOMEBREW_EVAL_ALL,则隐含此选项。
--变体在每个公式的 JSON 输出中包含变体哈希。
-v, --verbose显示 公式 的更详细的分析数据。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
安装 [选项] 公式|cask […]安装 公式 或 cask。特定于 公式 的其他选项可以附加到命令中。
除非设置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否则 brew upgrade 或 brew reinstall 将分别针对过时的依赖项和链接损坏的依赖项运行。
除非设置了 HOMEBREW_NO_INSTALL_CLEANUP,否则 brew cleanup 将针对已安装的公式运行,或者每 30 天针对所有公式运行。
除非设置了 HOMEBREW_NO_INSTALL_UPGRADE,否则 brew install formula 将升级 formula(如果已安装但已过时)。
-d,--debug如果酿造失败,请使用 IRB 或临时构建目录内的 shell 打开一个交互式调试会话。
--display-times在运行结束时打印每个软件包的安装时间。
-f, --force安装公式时不检查以前安装的仅限 keg 或未迁移的版本。安装木桶时,覆盖现有文件(二进制文件和符号链接除外,除非最初来自同一木桶)。
-v, --verbose打印验证和安装后步骤。
-n, --dry-run显示将要安装的内容,但实际上不安装任何内容。
--formula将所有命名参数视为公式。
--ignore-dependencies一个不受支持的 Homebrew 开发选项,用于跳过安装任何类型的依赖项。如果依赖项尚未存在,则公式将出现问题。如果您没有开发 Homebrew,请考虑调整您的 PATH 而不是使用此选项。
--only-dependencies安装依赖项并指定选项,但不要安装公式本身。
--cc尝试使用指定的 compiler 进行编译,它应该是编译器可执行文件的名称,例如 gcc-7 用于 GCC 7。为了使用 LLVM 的 clang,请指定 llvm_clang。要使用 Apple 提供的 clang,请指定 clang。此选项仅接受 Homebrew 提供或与 macOS 捆绑在一起的编译器。如果您在使用此选项时遇到错误,请不要提交问题。
-s, --build-from-source即使提供了 bottle,也从源代码编译formula。如果可用,依赖项仍将从 bottle 安装。
--force-bottle即使通常不会用于安装,如果当前或最新版本的 macOS 存在 bottle,则从 bottle 安装。
--include-test安装运行 brew test formula 所需的测试依赖项。
--HEAD如果 formula 定义了它,则安装 HEAD 版本,又称 main、trunk、unstable、master。
--fetch-HEAD获取上游存储库以检测公式的 HEAD 安装是否已过时。否则,只有在发布新的稳定版本或开发版本时,才会检查存储库的 HEAD 是否有更新。
--keep-tmp保留安装期间创建的临时文件。
--debug-symbols在构建时生成调试符号。源代码将保留在缓存目录中。
--build-bottle在安装期间为最终装瓶做好公式准备,跳过任何安装后步骤。
--skip-post-install安装但跳过任何安装后步骤。
--bottle-arch针对指定架构优化 bottle,而不是针对 bottle 所基于的 macOS 版本支持的最旧架构进行优化。
-i, --interactive下载并修补 formula,然后打开一个 shell。这允许用户运行 ./configure --help 并确定如何将软件包转换为 Homebrew 包。
-g, --git创建 Git 存储库,可用于创建软件补丁。
--overwrite链接时删除前缀中已存在的文件。
--cask将所有命名参数视为木桶。
--[no-]binaries禁用/启用帮助程序可执行文件的链接(默认:启用)。
--require-sha要求所有 cask 都具有校验和。
--[no-]quarantine禁用/启用下载的隔离(默认:启用)。
--adopt采用与正在安装的工件相同,存在于目标中的现有工件。不能与 --force 结合使用。
--skip-cask-deps跳过安装 Cask 依赖项。
--zap与 brew reinstall --cask 结合使用。删除与 Cask 关联的所有文件。可能会删除应用程序之间共享的文件。
leaves [--installed-on-request] [--installed-as-dependency]列出已安装的公式,这些公式不是其他已安装公式或 Cask 的依赖项。
-r, --installed-on-request仅列出已手动安装的叶子。
-p, --installed-as-dependency仅列出已作为依赖项安装的叶子。
link, ln [options] installed_formula […]将所有 formula 的已安装文件符号链接到 Homebrew 的前缀中。在安装公式时会自动执行此操作,但对于手动安装来说可能很有用。
--overwrite链接时删除前缀中已存在的文件。
-n, --dry-run列出 brew link --overwrite 将链接或删除的文件,而不会实际链接或删除任何文件。
-f, --force允许链接仅限 keg 的公式。
--HEAD如果已安装,则链接公式的 HEAD 版本。
list, ls [options] [installed_formula|installed_cask …]列出所有已安装的公式和 Cask。如果提供了 formula,则总结其当前 keg 中的路径。如果提供了 cask,则列出其制品。
--formula仅列出公式,或将所有命名参数视为公式。
--cask仅列出 Cask,或将所有命名参数视为 Cask。
--full-name打印具有完全限定名称的公式。除非传递了 --full-name、--versions 或 --pinned,否则其他选项(即 -1、-l、-r 和 -t)将传递给 ls(1),后者生成实际输出。
--versions显示已安装公式的版本号,或仅显示指定的公式,如果提供了formula。
--multiple仅显示已安装多个版本的公式。
--pinned仅列出已固定的公式,或仅列出指定的(已固定的)公式,如果提供了formula。另请参见 pin、unpin。
--installed-on-request列出按需安装的公式。
--installed-as-dependency列出作为依赖项安装的公式。
-1强制输出为每行一个条目。当输出不是到终端时,这是默认设置。
-l以长格式列出公式和/或 cask。当公式或 cask 名称作为参数传递时,此选项无效。
-r反转公式和/或 cask 排序的顺序,以首先列出最旧的条目。当公式或 cask 名称作为参数传递时,此选项无效。
-t按修改时间对公式和/或 cask 进行排序,首先列出最近修改的公式。当公式或 cask 名称作为参数传递时,此选项无效。
log [options] [formula|cask]显示 formula 或 cask 的 git log,如果没有提供公式或 cask,则显示 Homebrew 存储库的日志。
-p、--patch还打印提交的补丁。
--stat还打印提交的 diffstat。
--oneline每提交仅打印一行。
-1仅打印一个提交。
-n、--max-count仅打印指定数量的提交。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
migrate [options] installed_formula|installed_cask […]将已重命名的包迁移到新名称,其中 formula 是包的旧名称。
-f, --force将已安装的 公式 和提供的 公式 视为来自同一水龙头,并无论如何迁移它们。
-n, --dry-run显示将要迁移的内容,但实际上不迁移任何内容。
--formula仅迁移公式。
--cask仅迁移木桶。
missing [--hide=] [公式 …]检查给定的 公式 木桶是否有缺失的依赖项。如果没有提供 公式,则检查所有木桶。如果发现任何木桶缺少依赖项,将退出并显示非零状态。
--hide假装没有安装任何指定的 隐藏。隐藏 应为用逗号分隔的公式列表。
nodenv-sync在 ~/.nodenv/versions 中为 Homebrew 安装的 NodeJS 版本创建符号链接。
请注意,还将创建旧版本符号链接,例如 NodeJS 19.1.0 也将链接到 19.0.0。
options [options] [公式 …]显示特定于 公式 的安装选项。
--compact在用空格分隔的单行上显示所有选项。
--installed显示当前已安装公式的选项。
--eval-all评估所有可用的公式和木桶,无论是否已安装,以显示其选项。
--command显示指定 命令 的选项。
outdated [options] [公式|木桶 …]列出具有可用更新版本的已安装木桶和公式。默认情况下,版本信息显示在交互式外壳中,否则会隐藏。
-q, --quiet仅列出过时木桶的名称(优先于 --verbose)。
-v, --verbose包括详细的版本信息。
--formula仅列出过时的公式。
--cask仅列出过时的木桶。
--json以 JSON 格式打印输出。有两个版本:v1 和 v2。 v1 已弃用,如果未指定版本,目前是默认版本。 v2 打印过时的公式和木桶。
--fetch-HEAD获取上游存储库以检测公式的 HEAD 安装是否已过时。否则,只有在发布新的稳定版本或开发版本时,才会检查存储库的 HEAD 是否有更新。
-g、--greedy还包括 auto_updates true 或 version :latest 的过时木桶。
--greedy-latest还包括过时的木桶,包括具有 version :latest 的木桶。
--greedy-auto-updates还包括过时的木桶,包括具有 auto_updates true 的木桶。
pin installed_formula […]固定指定的 formula,防止在发出 brew upgrade formula 命令时对其进行升级。另请参阅 unpin。
注意: 依赖于固定公式的较新版本的其他软件包可能无法正确安装或运行。
postinstall、post_install installed_formula […]重新运行 formula 的安装后步骤。
pyenv-sync在 ~/.pyenv/versions 中为 Homebrew 安装的 Python 版本创建符号链接。
请注意,将创建较旧的补丁版本符号链接并将其链接到次要版本,例如 Python 3.11.0 也将符号链接到 3.11.3。
rbenv-sync在 ~/.rbenv/versions 中为 Homebrew 安装的 Ruby 版本创建符号链接。
请注意,还将创建较旧的版本符号链接,例如 Ruby 3.2.1 也将符号链接到 3.2.0。
readall [options] [tap …]从指定的 tap 导入所有项目,或者如果没有提供,则从所有已安装的 tap 导入。当对 formula.rb 进行重大更改、测试加载所有项目的性能或检查当前的公式/木桶是否有 Ruby 问题时,这对于调试所有项目的问题非常有用。
--os使用给定的操作系统进行读取。(传递 all 来模拟所有操作系统。)
--arch使用给定的 CPU 架构进行读取。(传递 all 来模拟所有架构。)
--aliases验证每个 tap 中的任何别名符号链接。
--语法语法检查所有 Homebrew 的 Ruby 文件(如果未传递 tap)。
--eval-all评估所有可用的配方和酒桶,无论是否已安装。如果设置了 HOMEBREW_EVAL_ALL,则暗示该评估。
--no-simulate检查配方和酒桶时,不要模拟其他系统配置。
reinstall [options] formula|cask […]卸载然后重新安装 formula 或 cask,使用最初安装时使用的相同选项,加上特定于 formula 的任何附加选项。
除非设置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否则 brew upgrade 或 brew reinstall 将分别针对过时的依赖项和链接损坏的依赖项运行。
除非设置了 HOMEBREW_NO_INSTALL_CLEANUP,否则将针对重新安装的配方运行 brew cleanup,或者针对所有配方每 30 天运行一次。
-d,--debug如果酿造失败,请使用 IRB 或临时构建目录内的 shell 打开一个交互式调试会话。
--display-times在运行结束时打印每个软件包的安装时间。
-f, --force安装时不检查以前安装的仅限 keg 或未迁移的版本。
-v, --verbose打印验证和安装后步骤。
--formula将所有命名参数视为公式。
-s, --build-from-source即使有可用的瓶装,也从源代码编译 formula。
-i, --interactive下载并修补 formula,然后打开一个 shell。这允许用户运行 ./configure --help 并确定如何将软件包转换为 Homebrew 包。
--force-bottle即使通常不会用于安装,如果当前或最新版本的 macOS 存在 bottle,则从 bottle 安装。
--keep-tmp保留安装期间创建的临时文件。
--debug-symbols在构建时生成调试符号。源代码将保留在缓存目录中。
-g, --git创建 Git 存储库,可用于创建软件补丁。
--cask将所有命名参数视为木桶。
--[no-]binaries禁用/启用帮助程序可执行文件的链接(默认:启用)。
--require-sha要求所有 cask 都具有校验和。
--[no-]quarantine禁用/启用下载的隔离(默认:启用)。
--adopt采用与正在安装的工件相同,存在于目标中的现有工件。不能与 --force 结合使用。
--skip-cask-deps跳过安装 Cask 依赖项。
--zap与 brew reinstall --cask 结合使用。删除与 Cask 关联的所有文件。可能会删除应用程序之间共享的文件。
search, -S [options] text|/regex/ […]对酒桶标记和配方名称执行 text 的子字符串搜索。如果 text 被斜杠包围,则将其解释为正则表达式。
--formula搜索配方。
--cask搜索酒桶。
--desc搜索描述与 text 匹配的配方,以及名称或描述与 text 匹配的酒桶。
--eval-all评估所有可用的公式和木桶,无论是否已安装,以搜索其描述。如果设置了 HOMEBREW_EVAL_ALL,则隐含此选项。
--pull-request搜索包含 text 的 GitHub pull request。
--open仅搜索开放的 GitHub pull request。
--closed仅搜索已关闭的 GitHub pull request。
--repology在给定的数据库中搜索text。
--macports在给定的数据库中搜索text。
--fink在给定的数据库中搜索text。
--opensuse在给定的数据库中搜索text。
--fedora在给定的数据库中搜索text。
--archlinux在给定的数据库中搜索text。
--debian在给定的数据库中搜索text。
--ubuntu在给定的数据库中搜索text。
setup-ruby [命令]安装并配置 Homebrew 的 Ruby。如果传递了 command,它将仅在该命令需要时运行 Bundler。
shellenv [bash|csh|fish|pwsh|sh|tcsh|zsh]打印导出语句。在 shell 中运行时,此 Homebrew 安装将添加到您的 PATH、MANPATH 和 INFOPATH 中。
变量 HOMEBREW_PREFIX、HOMEBREW_CELLAR 和 HOMEBREW_REPOSITORY 也被导出,以避免多次查询它们。为了帮助保证幂等性,当 Homebrew 的 bin 和 sbin 目录分别在您的 PATH 中排在第一和第二位时,此命令不会产生任何输出。考虑将此命令的输出评估添加到您的 dotfiles(例如,macOS 上的 ~/.bash_profile 或 ~/.zprofile,以及 Linux 上的 ~/.bashrc 或 ~/.zshrc):eval "$(brew shellenv)"
可以使用受支持的 shell 名称参数显式指定 shell。未知 shell 将输出 POSIX 导出。
tap [options] [user/repo] [URL]轻触公式存储库。如果没有提供任何参数,则列出所有已安装的轻触。
在未指定 URL 的情况下,使用 HTTPS 从 GitHub 轻触公式存储库。由于许多轻触都托管在 GitHub 上,因此此命令是 brew tap user/repo https://github.com/user/homebrew-repo 的快捷方式。
如果指定了 URL,则可以使用 git(1) 处理的任何传输协议,从任何位置轻触一个公式存储库。tap 的单参数形式简化了操作,但也存在局限性。此双参数命令没有任何假设,因此可以从 GitHub 以外的位置克隆轻触,并使用 HTTPS 以外的协议,例如 SSH、git、HTTP、FTP(S)、rsync。
--custom-remote使用自定义远程安装或更改轻触。对于镜像很有用。
--repair将轻触的公式从基于符号链接的结构迁移到基于目录的结构。
--eval-all评估新轻触中的所有公式、木桶和别名,以检查其有效性。如果设置了 HOMEBREW_EVAL_ALL,则隐含此选项。
--force即使在 API 模式下,也强制安装核心轻触。
tap-info [--installed] [--json] [tap …]显示有关一个或多个 tap 的详细信息。如果没有提供 tap 名称,则显示所有已安装轻触的简要统计信息。
--installed显示每个已安装轻触的信息。
--json打印 tap 的 JSON 表示形式。目前,version 的默认值且唯一接受的值为 v1。有关使用 JSON 输出的示例,请参阅文档:https://docs.brew.sh.cn/Querying-Brew
uninstall, remove, rm [options] installed_formula|installed_cask […]卸载 formula 或 cask。
-f, --force删除 formula 的所有已安装版本。即使未安装 cask,也要卸载,覆盖现有文件,并在删除文件时忽略错误。
--zap删除与 cask 关联的所有文件。可能会删除应用程序之间共享的文件。
--ignore-dependencies即使 formula 是任何已安装公式的依赖项,也不要卸载失败。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
unlink [--dry-run] installed_formula […]从 Homebrew 的前缀中删除 formula 的符号链接。这对于暂时禁用公式很有用:brew unlink formula && commands && brew link formula
-n, --dry-run列出将取消链接的文件,而不会实际取消链接或删除任何文件。
unpin installed_formula […]取消固定 formula,允许它们通过 brew upgrade formula 进行升级。另请参见 pin。
untap [--force] tap […]删除已点击的公式存储库。
-f, --force即使当前已安装此点击源中的公式或木桶,也要取消点击。
update [options]使用 git(1) 从 GitHub 获取 Homebrew 和所有公式的最新版本,并执行任何必要的迁移。
--merge使用 git merge 应用更新(而不是 git rebase)。
--auto-update在自动更新时运行(例如在 brew install 之前)。跳过一些较慢的步骤。
-f, --force始终进行较慢的完整更新检查(即使不必要)。
update-reset [path-to-tap-repository …]使用 git(1) 获取并重置 Homebrew 和所有点击存储库(或任何指定的 repository)到其最新的 origin/HEAD。
注意:这将销毁你所有未提交或已提交的更改。
upgrade [options] [installed_formula|installed_cask …]使用最初安装它们的相同选项升级过时的木桶和过时的、未固定的公式,以及任何附加的 brew 公式选项。如果指定了 cask 或 formula,则仅升级给定的 cask 或 formula 木桶(除非它们被固定;请参见 pin、unpin)。
除非设置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否则 brew upgrade 或 brew reinstall 将分别针对过时的依赖项和链接损坏的依赖项运行。
除非设置了 HOMEBREW_NO_INSTALL_CLEANUP,否则将运行 brew cleanup 以处理已升级的公式,或每 30 天处理一次所有公式。
-d,--debug如果酿造失败,请使用 IRB 或临时构建目录内的 shell 打开一个交互式调试会话。
--display-times在运行结束时打印每个软件包的安装时间。
-f, --force安装公式时不检查以前安装的仅限 keg 或未迁移的版本。安装木桶时,覆盖现有文件(二进制文件和符号链接除外,除非最初来自同一木桶)。
-v, --verbose打印验证和安装后步骤。
-n, --dry-run显示将要升级的内容,但实际上不升级任何内容。
--formula将所有命名参数视为公式。如果没有指定命名参数,则仅升级过时的公式。
-s, --build-from-source即使有可用的瓶装,也从源代码编译 formula。
-i, --interactive下载并修补 formula,然后打开一个 shell。这允许用户运行 ./configure --help 并确定如何将软件包转换为 Homebrew 包。
--force-bottle即使通常不会用于安装,如果当前或最新版本的 macOS 存在 bottle,则从 bottle 安装。
--fetch-HEAD获取上游存储库以检测公式的 HEAD 安装是否已过时。否则,只有在发布新的稳定版本或开发版本时,才会检查存储库的 HEAD 是否有更新。
--keep-tmp保留安装期间创建的临时文件。
--debug-symbols在构建时生成调试符号。源代码将保留在缓存目录中。
--overwrite链接时删除前缀中已存在的文件。
--cask将所有命名参数视为木桶。如果没有指定命名参数,则仅升级过时的木桶。
--skip-cask-deps跳过安装 Cask 依赖项。
-g、--greedy还包括 auto_updates true 或 version :latest 的木桶。
--greedy-latest还包括 version :latest 的木桶。
--greedy-auto-updates还包括 auto_updates true 的木桶。
--[no-]binaries禁用/启用帮助程序可执行文件的链接(默认:启用)。
--require-sha要求所有 cask 都具有校验和。
--[no-]quarantine禁用/启用下载的隔离(默认:启用)。
uses [options] formula […]显示指定 formula 为依赖项的公式和木桶;也就是说,显示 formula 的依赖项。当给出多个公式参数时,显示使用 formula 的公式的交集。默认情况下,uses 显示所有指定 formula 为其稳定版本所需或推荐依赖项的公式和木桶。
注意: --missing 和 --skip-recommended 优先于 --include-*。
--recursive解析多于一个级别的依赖项。
--installed仅列出当前已安装的公式和木桶。
--missing仅列出当前未安装的公式和木桶。
--eval-all评估所有可用的公式和木桶(无论是否已安装)以显示其依赖项。
--include-build包括指定 formula 为 :build 依赖项的公式。
--include-test包括指定 formula 为 :test 依赖项的公式。
--include-optional包括指定 formula 为 :optional 依赖项的公式。
--skip-recommended跳过所有指定 formula 为 :recommended 依赖项的公式。
--formula仅包括公式。
--cask仅包括木桶。
--cache [options] [formula|cask …]显示 Homebrew 的下载缓存。另请参见 HOMEBREW_CACHE。
如果提供了 formula,则显示用于缓存 formula 的文件或目录。
--os显示给定操作系统的缓存文件。(传递 all 以显示所有操作系统的缓存文件。)
--arch显示给定 CPU 架构的缓存文件。(传递 all 以显示所有架构的缓存文件。)
-s, --build-from-source显示从源代码构建时使用的缓存文件。
--force-bottle显示倒瓶时使用的缓存文件。
--bottle-tag显示为给定标签倒瓶时使用的缓存文件。
--HEAD显示从 HEAD 构建时使用的缓存文件。
--formula仅显示公式的缓存文件。
--cask仅显示木桶的缓存文件。
--caskroom [cask …]显示 Homebrew 的 Caskroom 路径。
如果提供了 cask,则显示 Caskroom 中 cask 将被安装到的位置,而最后一个路径没有任何版本目录。
--cellar [formula …]显示 Homebrew 的 Cellar 路径。默认值: $(brew --prefix)/Cellar,或者如果该目录不存在,则为 $(brew --repository)/Cellar。
如果提供了 formula,则显示 Cellar 中 formula 将被安装到的位置,而最后一个路径没有任何版本目录。
--env, environment [--shell=] [--plain] [formula …]以纯列表形式总结 Homebrew 的构建环境。
如果命令的输出通过管道发送,并且未指定 shell,则该列表将被格式化为导出到 bash(1),除非传递了 --plain。
--shell为指定的 shell 生成环境变量列表,或 --shell=auto 以检测当前 shell。
--plain即使通过管道传输,也生成纯输出。
--prefix [--unbrewed] [--installed] [公式 …]显示 Homebrew 的安装路径。默认值:
/opt/homebrew/usr/local/home/linuxbrew/.linuxbrew如果提供了公式,则显示公式所在或将被安装到的位置。
--unbrewed列出 Homebrew 的前缀中未由 Homebrew 安装的文件。
--installed如果未安装公式,则不输出任何内容并返回失败状态代码。
--repository, --repo [轻触 …]显示 Homebrew 的 Git 存储库所在的位置。
如果提供了用户/存储库,则显示轻触用户/存储库的目录所在的位置。
--version, -v将 Homebrew、Homebrew/homebrew-core 和 Homebrew/homebrew-cask(如果轻触)的版本号打印到标准输出。
audit [选项] [公式|木桶 …]检查公式是否违反了 Homebrew 编码风格。在提交新公式或木桶之前应该运行此命令。如果没有提供公式|木桶,则检查所有本地可用的公式和木桶,并跳过样式检查。如果发现任何错误,将退出并显示非零状态。
--os审核给定的操作系统。(传递 all 来审核所有操作系统。)
--arch审核给定的 CPU 架构。(传递 all 来审核所有架构。)
--strict运行其他更严格的样式检查。
--git运行其他更慢的样式检查,这些检查会导航 Git 存储库。
--online运行其他更慢的样式检查,这些检查需要网络连接。
--installed仅检查当前已安装的公式和木桶。
--eval-all评估所有可用的公式和木桶(无论是否已安装)以对其进行审核。如果设置了 HOMEBREW_EVAL_ALL,则隐含此项。
--new运行各种其他样式检查,以确定新公式或木桶是否有资格加入 Homebrew。在创建新公式或木桶时应使用此命令,并且隐含 --strict 和 --online。
--[no-]signing对 ARM 上必需的已签名应用进行审核
--token-conflicts对令牌冲突进行审核。
--tap检查给定 tap 中的公式,指定为 user/repo。
--fix使用 RuboCop 的自动更正功能自动修复样式违规。
--display-filename在输出的每一行前加上正在审核的文件或公式名称,以便于 grep 输出。
--skip-style跳过运行非 RuboCop 样式检查。如果你计划单独运行 brew style,这很有用。默认情况下启用,除非按名称指定公式。
-D, --audit-debug启用审核方法的调试和分析。
--only指定一个以逗号分隔的 method 列表,仅运行名为 audit_method 的方法。
--except指定一个以逗号分隔的 method 列表,跳过运行名为 audit_method 的方法。
--only-cops指定一个以逗号分隔的 cops 列表,仅检查列出的 RuboCop cops 的违规情况。
--except-cops指定一个以逗号分隔的 cops 列表,跳过检查列出的 RuboCop cops 的违规情况。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
bottle [options] installed_formula|file […]从使用 --build-bottle 安装的公式生成一个 bottle(二进制包)。如果公式指定了一个重建版本,它将在生成的 DSL 中递增。传递 --keep-old 将尝试将其保持在原始值,而 --no-rebuild 将将其删除。
--skip-relocation不要检查 bottle 是否可以标记为可重定位。
--force-core-tap即使 formula 不在 homebrew/core 或任何已安装的 tap 中,也要构建一个 bottle。
--no-rebuild如果公式指定了一个重建版本,则从生成的 DSL 中将其移除。
--keep-old如果公式指定了一个重建版本,则尝试在生成的 DSL 中保留其值。
--json将瓶子信息写入 JSON 文件,该文件可用作 --merge 的值。
--merge为公式生成一个更新的瓶子块,并可以选择将其合并到公式文件中。需要使用 brew bottle --json formula 生成的 JSON 文件的路径,而不是公式名称。
--write将更改写入公式文件。除非传递了 --no-commit,否则将生成一个新的提交。
--no-commit当与 --write 一起传递时,在将更改写入公式文件后不会生成新的提交。
--only-json-tab当与 --json 一起传递时,选项卡将被写入 JSON 文件,但不会写入瓶子。
--no-all-checks不要尝试创建一个 all 瓶子或停止无更改上传。
--committer在 git 的标准作者格式中指定提交者姓名和电子邮件。
--root-url使用指定的 URL 作为瓶子 URL 的根,而不是 Homebrew 的默认值。
--root-url-using使用指定的下载策略类来下载瓶子的 URL,而不是 Homebrew 的默认值。
bump [options] [formula|cask …]显示过时的 brew 公式和可用的最新版本。如果返回的当前版本和 livecheck 版本不同,或者在查询特定公式时,还会显示是否已使用 URL 打开拉取请求。
--full-name打印具有完全限定名称的公式/木桶。
--no-pull-requests不要从 GitHub 检索拉取请求。
--formula仅检查公式。
--cask仅检查木桶。
--tap检查给定 tap 中的公式和木桶,指定为 user/repo。
--installed检查当前已安装的公式和木桶。
--no-fork不要尝试分叉存储库。
--open-pr如果尚未打开新版本的拉取请求,则打开一个。
--limit限制返回的软件包结果数量。
--start-with软件包结果列表应按字母顺序排列的字母或单词。
bump-cask-pr [options] cask创建一个拉取请求,使用新版本更新cask。
如果用户未提供值,将尽力确定SHA-256。
-n, --dry-run打印将要执行的操作,而不是实际执行。
--write-only进行预期的文件修改,而不执行任何 Git 操作。
--commit与 --write-only 一起传递时,在对 cask 文件进行更改后生成一个新的提交。
--no-audit在打开 PR 之前,不要运行 brew audit。
--no-style在打开 PR 之前,不要运行 brew style --fix。
--no-browse打印拉取请求 URL,而不是在浏览器中打开。
--no-fork不要尝试分叉存储库。
--version为 cask 指定新的version。
--version-arm为 ARM 架构指定新的 cask version。
--version-intel为 Intel 架构指定新的 cask version。
--message将message 添加到默认拉取请求消息之前。
--url为新下载指定URL。
--sha256指定新下载的SHA-256 校验和。
--fork-org使用指定的 GitHub 组织进行分叉。
bump-formula-pr [options] [formula]创建一个拉取请求,使用新的 URL 或新标签更新formula。
如果指定了URL,还应指定新下载的SHA-256 校验和。如果用户未提供,将尽力确定SHA-256。
如果指定了tag,还应指定与该标签对应的 Git 提交revision。如果用户未提供值,将尽力确定revision。
如果指定了version,如果用户未提供这两个值,将尽力确定URL 和 SHA-256 或 tag 和 revision。
注意:此命令无法用于将公式从 URL 和 SHA-256 样式规范转换为标签和修订版样式规范,反之亦然。它必须使用公式已使用的任何样式规范。
-n, --dry-run打印将要执行的操作,而不是实际执行。
--write-only进行预期的文件修改,而不执行任何 Git 操作。
--commit在使用 --write-only 传递时,在将更改写入公式文件后生成新的提交。
--no-audit在打开 PR 之前,不要运行 brew audit。
--strict在打开 PR 之前运行 brew audit --strict。
--online在打开 PR 之前运行 brew audit --online。
--no-browse打印拉取请求 URL,而不是在浏览器中打开。
--no-fork不要尝试分叉存储库。
--mirror将指定的 URL 用作镜像 URL。如果 URL 是由逗号分隔的 URL 列表,则将添加多个镜像。
--fork-org使用指定的 GitHub 组织进行分叉。
--version使用指定的 version 覆盖从 URL 或标签中解析的值。请注意,如果 --version=0 已变得多余,则可用于从公式中删除现有的版本覆盖。
--message将message 添加到默认拉取请求消息之前。
--url指定新下载的 URL。如果指定了 URL,还应指定新下载的 SHA-256 校验和。
--sha256指定新下载的SHA-256 校验和。
--tag为公式指定新的 git 提交 tag。
--revision指定与指定的 git tag 或指定的 version 相对应的新的提交 revision。
-f, --force如果未指定 --mirror,则删除所有镜像。
--install-dependencies安装更新资源所需的缺失依赖项。
--python-package-name在为 formula 查找 Python 资源时使用指定的 package-name。如果未指定包名称,则将从公式的稳定 URL 中推断出包名称。
--python-extra-packages在查找资源时包括这些其他 Python 包。
--python-exclude-packages在查找资源时排除这些 Python 包。
bump-revision [options] formula […]创建一个提交以增加 formula 的修订版。如果不存在修订版,则将添加“修订版 1”。
-n, --dry-run打印将要执行的操作,而不是实际执行。
--remove-bottle-block除了增加修订版本外,还移除 bottle 块。
--write-only进行预期的文件修改,而不执行任何 Git 操作。
--message将 message 附加到默认提交消息。
bump-unversioned-casks [options] cask|tap […]检查给定 tap 中 URL 未添加版本的所有 cask,以获取更新。
-n, --dry-run执行除缓存状态和打开拉取请求之外的所有操作。
--limit以分钟为单位的最大运行时间。
--state-file用于缓存状态的文件。
cat [--formula] [--cask] formula|cask […]显示 formula 或 cask 的源。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
contributions [–user=email|username] [--repositories=] [--csv]总结对 Homebrew 存储库的贡献。
--repositories指定要搜索的存储库的逗号分隔列表。支持的存储库:brew、core、cask、aliases、bundle、command-not-found、test-bot、services 和 cask-fonts。省略此标志或指定 --repositories=primary,仅搜索主存储库:brew、core、cask。指定 --repositories=all,搜索所有存储库。
--from开始搜索贡献的日期(ISO-8601 格式)。省略此标志将搜索过去一年。
--to停止搜索贡献的日期(ISO-8601 格式)。
--user指定要查找其贡献的 GitHub 用户名或电子邮件地址的逗号分隔列表。省略此标志将搜索维护者。
--csv打印一段时间内跨存储库的贡献的 CSV。
create [options] URL生成一个公式,或者使用 --cask,生成一个 cask,用于 URL 中的可下载文件,并在编辑器中打开它。Homebrew 将尝试自动派生公式名称和版本,但如果失败,则必须自己制作模板。 wget 公式是一个简单的示例。有关完整 API,请参阅:https://rubydoc.brew.sh/Formula
--autotools为 Autotools 样式构建创建一个基本模板。
--cask为 cask 创建一个基本模板。
--cmake为 CMake 样式构建创建一个基本模板。
--crystal为 Crystal 构建创建一个基本模板。
--go为 Go 构建创建一个基本模板。
--meson为 Meson 样式构建创建一个基本模板。
--node为 Node 构建创建一个基本模板。
--perl为 Perl 构建创建一个基本模板。
--python为 Python 构建创建一个基本模板。
--ruby为 Ruby 构建创建一个基本模板。
--rust为 Rust 构建创建一个基本模板。
--no-fetchHomebrew 不会将URL下载到缓存中,因此不会将它的 SHA-256 添加到公式中,也不会检查 GitHub API 以获取 GitHub 项目(以填写其描述和主页)。
--HEAD表明URL指向包的存储库,而不是文件。
--set-name明确设置新公式或 cask 的name。
--set-version明确设置新公式或 cask 的version。
--set-license明确设置新公式的license。
--tap在给定的 tap 中生成新公式,指定为user/repo。
-f, --force忽略不允许的公式名称和阴影别名的错误。
dispatch-build-bottle [options] formula […]使用 GitHub Actions 为这些公式构建 bottle。
--tap目标 tap 存储库(默认:homebrew/core)。
--timeout构建超时(以分钟为单位,默认:60)。
--issue如果指定,如果作业失败,则在此问题编号中发布评论。
--macos应为其构建 bottle 的 macOS 版本(或版本逗号分隔列表)。
--workflow分派指定的工作流(默认:dispatch-build-bottle.yml)。
--upload上传构建的 bottles。
--linux为 Linux 分发 bottle(使用 GitHub runners)。
--linux-self-hosted为 Linux 分发 bottle(使用自托管 runner)。
--linux-wheezy在 Linux 上构建 bottle 时使用 Debian Wheezy 容器。
edit [options] [formula|cask|tap …]在由 EDITOR 或 HOMEBREW_EDITOR 设置的编辑器中打开 formula、cask 或 tap,如果没有提供参数,则打开 Homebrew 存储库进行编辑。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
--print-path打印要编辑的文件路径,而不打开编辑器。
extract [--version=] [--force] formula tap查看存储库历史记录以查找 formula 的最新版本,并在 tap 中创建副本。具体来说,该命令将在 tap/Formula/formula@version.rb 中创建新的 formula 文件。如果尚未安装 tap,请尝试在继续之前安装/克隆 tap。要从不是 homebrew/core 的 tap 中提取 formula,请使用其完全限定形式 user/repo/formula。
--version提取指定的 版本 的 公式,而不是最新版本。
-f, --force如果目标公式已存在,则覆盖它。
公式 公式 […]显示 公式 所在的路径。
generate-cask-api [--dry-run]为 https://formulae.brew.sh 生成 homebrew/cask API 数据文件。生成的文件将写入当前目录。
-n, --dry-run生成 API 数据,但不将其写入文件。
generate-formula-api [--dry-run]为 https://formulae.brew.sh 生成 homebrew/core API 数据文件。生成的文件将写入当前目录。
-n, --dry-run生成 API 数据,但不将其写入文件。
generate-man-completions生成 Homebrew 的手册页和 shell 补全。
install-bundler-gems [--groups=] [--add-groups=]安装 Homebrew 的 Bundler gem。
--groups安装指定的逗号分隔的 gem 组列表(默认:上次使用)。替换任何先前安装的组。
--add-groups安装指定的逗号分隔的 gem 组列表,除了已安装的组之外。
irb [--examples] [--pry]进入交互式 Homebrew Ruby shell。
--examples显示几个示例。
--pry使用 Pry 而不是 IRB。如果设置了 HOMEBREW_PRY,则隐含此选项。
linkage [选项] [已安装公式 …]检查给定 公式 桶中的库链接。如果没有提供 公式,则检查所有桶。如果在未安装的公式上运行,则会引发错误。
--test仅显示缺失的库,如果发现任何缺失的库,则退出并显示非零状态。
--strict如果发现任何未声明的依赖项与链接,则退出并显示非零状态。
--reverse对于每个 keg 引用库,打印其 dylib 路径,后跟链接到它的二进制文件。
--cached打印存储在 HOMEBREW_CACHE 中的缓存链接值,由先前的 brew linkage 运行设置。
livecheck, lc [options] [formula|cask …]检查上游公式和/或 cask 的较新版本。如果没有传递公式或 cask 参数,则要检查的公式和 cask 列表将从 HOMEBREW_LIVECHECK_WATCHLIST 或 ~/.homebrew/livecheck_watchlist.txt 中获取。
--full-name打印具有完全限定名称的公式和 cask。
--tap检查给定 tap 中的公式和木桶,指定为 user/repo。
--eval-all评估所有可用的公式和 cask,无论是否已安装,以检查它们。
--installed检查当前已安装的公式和木桶。
--newer-only仅当最新版本比公式/cask 新时才显示最新版本。
--json以 JSON 格式输出信息。
-r, --resources还检查公式的资源。
-q, --quiet禁止警告,不要为 JSON 输出打印进度条。
--formula仅检查公式。
--cask仅检查 cask。
--extract-plist启用使用 ExtractPlist 策略检查多个 cask。
pr-automerge [options]使用 brew pr-publish 查找可以自动合并的 pull request。
--tap目标 tap 存储库(默认:homebrew/core)。
--workflow与 brew pr-publish 一起使用的工作流文件。
--with-labelpull request 必须具有此标签。
--without-labels请求不得包含以下标签(默认:do not merge、new formula、automerge-skip、pre-release、CI-published-bottle-commits)。
--without-approval请求合并时无需批准。
--publish对匹配的请求运行 brew pr-publish。
--autosquash指示 brew pr-publish 自动重新格式化和修改请求中的提交内容,使其符合首选格式。
--ignore-failures包括状态检查失败的请求。
pr-publish [options] pull_request […]使用 GitHub Actions 为请求发布瓶子。需要对存储库具有写入权限。
--autosquash如果目标抽头支持,则自动重新格式化和修改提交内容,使其符合我们的首选格式。
--large-runner在大型运行程序上运行上传作业。
--branch使用工作流的分支(默认:master)。
--message自动压缩修订版本升级、删除和重建时要包含的消息。
--tap目标 tap 存储库(默认:homebrew/core)。
--workflow目标工作流文件名(默认:publish-commit-bottles.yml)。
pr-pull [options] pull_request […]下载并发布瓶子,并应用 GitHub Actions 生成的工件中的瓶子提交。需要对存储库具有写入权限。
--no-upload下载瓶子,但不要上传。
--no-commit在上传之前不要生成新的提交。
--no-cherry-pick不要从请求分支中挑选提交。
-n, --dry-run打印将要执行的操作,而不是实际执行。
--clean不要修改请求中的提交。
--keep-old如果公式指定了一个重建版本,则尝试在生成的 DSL 中保留其值。
--autosquash自动重新格式化和修改请求中的提交内容,使其符合我们的首选格式。
--branch-okay如果拉取到存储库默认值之外的分支,则不发出警告(对于测试很有用)。
--resolve当补丁无法应用时,保持进行中状态,并允许用户解决,而不是中止。
--warn-on-upload-failure如果瓶子上传失败,发出警告而不是引发错误。对于修复之前失败的瓶子上传很有用。
--retain-bottle-dir不清理瓶子的 tmp 目录,以便以后可以使用它。
--committer在 git 的标准作者格式中指定提交者姓名和电子邮件。
--message自动压缩修订版本升级、删除和重建时要包含的消息。
--artifact-pattern下载具有指定模式的工件(默认:bottles{,_*})。
--tap目标 tap 存储库(默认:homebrew/core)。
--root-url使用指定的 URL 作为瓶子 URL 的根,而不是 Homebrew 的默认值。
--root-url-using使用指定的下载策略类来下载瓶子的 URL,而不是 Homebrew 的默认值。
--workflows从指定的工作流中检索工件(默认:tests.yml)。可以是逗号分隔的列表,以包含多个工作流。
--ignore-missing-artifacts如果尚未运行,则可以忽略的工作流的逗号分隔列表。
pr-upload [options]应用瓶子提交并将瓶子发布到主机。
--keep-old如果公式指定了一个重建版本,则尝试在生成的 DSL 中保留其值。
-n, --dry-run打印将要执行的操作,而不是实际执行。
--no-commit在上传之前不要生成新的提交。
--warn-on-upload-failure如果瓶子上传失败,发出警告而不是引发错误。对于修复之前失败的瓶子上传很有用。
--upload-only在上传之前跳过运行brew bottle。
--committer在 git 的标准作者格式中指定提交者姓名和电子邮件。
--root-url使用指定的 URL 作为瓶子 URL 的根,而不是 Homebrew 的默认值。
--root-url-using使用指定的下载策略类来下载瓶子的 URL,而不是 Homebrew 的默认值。
prof [--stackprof] command […]使用 Ruby 分析器运行 Homebrew。例如,brew prof readall。
--stackprof使用stackprof而不是ruby-prof(默认)。
release [--major] [--minor]使用适当的版本号和发行说明创建一个新的 Homebrew/brew 草稿版本。
默认情况下,brew release将增加修订版本号。分别传递--major或--minor以增加主要或次要版本号。如果前一个主要或次要版本是在不到一个月前发布的,则该命令将失败。
注意:需要对 Homebrew/brew 存储库具有写访问权限。
--major创建主要版本。
--minor创建次要版本。
rubocop安装、配置和运行 Homebrew 的rubocop。
ruby [options] (-e text|file)运行一个加载了 Homebrew 库的 Ruby 实例。例如,brew ruby -e "puts :gcc.f.deps"或brew ruby script.rb。
例如,运行brew ruby -- --version以将任意参数传递给ruby。
-r使用require加载库。
-e将给定的文本字符串作为脚本执行。
rubydoc [--only-public] [--open]生成 Homebrew 的 RubyDoc 文档。
--only-public仅生成公共 API 文档。
--open在浏览器中打开生成的文档。
sh [--env=] [--cmd=] [file]进入 Homebrew 构建环境的交互式 shell。使用历经多年考验的构建逻辑来帮助你的 ./configure && make && make install 甚至你的 gem install 成功。如果你在仅限 Xcode 的配置中运行 Homebrew,这尤其方便,因为它会将 make 等工具添加到你的 PATH 中,而构建系统原本找不到这些工具。
--env当传递 std 时,使用标准 PATH 而不是 superenv 的 PATH。
-c, --cmd在非交互式 shell 中执行命令。
style [options] [file|tap|formula|cask …]检查公式或文件是否符合 Homebrew 样式指南。
file、tap 和 formula 的列表不得合并。如果没有提供任何列表,style 将对整个 Homebrew 库(包括核心代码和所有公式)运行样式检查。
--fix使用 RuboCop 的自动更正功能自动修复样式违规。
--reset-cache重置 RuboCop 缓存。
--formula将所有命名参数视为公式。
--cask将所有命名参数视为木桶。
--only-cops指定一个以逗号分隔的 cops 列表,仅检查列出的 RuboCop cops 的违规情况。
--except-cops指定一个以逗号分隔的 cops 列表,跳过检查列出的 RuboCop cops 的违规情况。
tap-new [options] user/repo为新 tap 生成模板文件。
--no-git不要为 tap 初始化 Git 存储库。
--pull-label准备拉取的拉取请求的标签名称(默认:pr-pull)。
--branch初始化 Git 存储库并使用指定的 branch 名称设置 GitHub Actions 工作流(默认:main)。
--github-packages将 bottle 上传到 GitHub Packages。
test [options] installed_formula […]运行已安装公式提供的测试方法。没有标准输出或返回代码,但通常如果已安装的公式出现问题,它应该会通知用户。
示例: brew install jruby && brew test jruby
-f, --force即使公式未链接,也要测试它们。
--HEAD测试公式的 HEAD 版本。
--keep-tmp保留为测试创建的临时文件。
--retry如果测试失败,则重试。
tests [options]运行 Homebrew 的单元和集成测试。
--coverage生成代码覆盖率报告。
--generic仅运行与操作系统无关的测试。
--online包括使用 GitHub API 的测试以及使用任何官方外部命令的 tap 的测试。
--debug使用 ruby/debug 启用调试,或显示标准 odebug 输出。
--changed仅对与主分支不同的文件运行测试。
--fail-fast在第一个失败的测试中提前退出。
--only仅运行 <test_script>_spec.rb。附加 :<line_number> 将从特定行开始。
--profile按顺序运行测试套件以查找n 个最慢的测试。
--seed使用指定的value 随机化测试,而不是随机种子。
typecheck, tc [options]使用 Sorbet 检查类型检查错误。
--fix自动修复类型错误。
-q, --quiet使所有非关键错误静默。
--update更新 RBI 文件。
--update-all更新所有 RBI 文件,而不仅仅是更新的 gem。
--suggest-typed尝试升级 typed sigils。
--dir类型检查特定目录中的所有文件。
--file类型检查单个文件。
--ignore忽略路径中包含给定字符串的输入文件(相对于传递给 Sorbet 的输入路径)。
unbottled [options] [formula …]显示公式的未装瓶依赖项。
--tag使用指定的瓶子标签(例如 big_sur),而不是当前操作系统。
--dependents跳过获取分析数据,并按依赖项数量排序。
--total打印未装瓶和总公式数。
--lost打印上周瓶子丢失的 homebrew/core 提交。
--eval-all评估所有可用的公式和 cask,无论是否已安装,以检查它们。如果设置了 HOMEBREW_EVAL_ALL,则隐含此选项。
unpack [options] formula […]将 formula 的源文件解压缩到当前工作目录的子目录中。
--destdir在名为 path 的目录中创建子目录。
--patchformula 的补丁将应用于解压缩的源代码。
-g, --git在解压缩的源代码中初始化一个 Git 存储库。这对于创建软件补丁很有用。
-f, --force如果目标目录已存在,则覆盖它。
update-license-data更新 Homebrew 存储库中的 SPDX 许可数据。
update-maintainers更新 Homebrew/brew README 中的维护者列表。
update-python-resources [options] formula […]更新 formula 中 PyPI 资源块的版本。
-p, --print-only打印更新的资源块,而不是更改 formula。
-s, --silent禁止任何输出。
--ignore-non-pypi-packages如果 formula 不是 PyPI 包,则不要失败。
--install-dependencies安装更新资源所需的缺失依赖项。
--version在为 formula 查找资源时使用指定的 version。如果未指定版本,则将使用 formula 的当前版本。
--package-name在为 formula 查找资源时使用指定的 package-name。如果未指定包名,则将从公式的稳定 URL 中推断出包名。
--extra-packages查找资源时包含这些其他包。
--exclude-packages查找资源时排除这些包。
update-sponsors更新 Homebrew/brew README 中的 GitHub 赞助商列表。
update-test [options]使用新的存储库克隆运行 brew update 测试。如果没有传递任何选项,则使用 origin/master 作为起始提交。
--to-tag将 HOMEBREW_UPDATE_TO_TAG 设置为测试标签之间的更新。
--keep-tmp保留包含新存储库克隆的临时目录。
--commit使用指定的 commit 作为起始提交。
--before使用指定 date 的提交作为起始提交。
vendor-gems [--update=] [--no-commit]安装并提交 Homebrew 的供应商 gem。
--update将指定的供应商 gem 列表更新到最新版本。
--no-commit完成时不生成新的提交。
这些选项适用于带有 --cask 开关的 install、reinstall 和 upgrade 子命令。
--appdir应用程序的目标位置(默认:/Applications)。
--keyboard-layoutdir键盘布局的目标位置(默认:/Library/Keyboard Layouts)。
--colorpickerdir颜色选择器的目标位置(默认:~/Library/ColorPickers)。
--prefpanedir偏好窗格的目标位置(默认:~/Library/PreferencePanes)。
--qlplugindir快速查看插件的目标位置(默认:~/Library/QuickLook)。
--mdimporterdir聚光灯插件的目标位置(默认:~/Library/Spotlight)。
--dictionarydir词典的目标位置(默认:~/Library/Dictionaries)。
--fontdir字体目标位置(默认:~/Library/Fonts)。
--servicedir服务目标位置(默认:~/Library/Services)。
--input-methoddir输入法目标位置(默认:~/Library/Input Methods)。
--internet-plugindirInternet 插件目标位置(默认:~/Library/Internet Plug-Ins)。
--audio-unit-plugindirAudio Unit 插件目标位置(默认:~/Library/Audio/Plug-Ins/Components)。
--vst-plugindirVST 插件目标位置(默认:~/Library/Audio/Plug-Ins/VST)。
--vst3-plugindirVST3 插件目标位置(默认:~/Library/Audio/Plug-Ins/VST3)。
--screen-saverdir屏幕保护程序目标位置(默认:~/Library/Screen Savers)。
--language逗号分隔的语言代码列表,用于 cask 安装。使用第一个匹配的语言,否则将恢复到 cask 的默认语言。默认值为系统的语言。
这些选项适用于多个子命令。
-d,--debug显示所有调试信息。
-q, --quiet使某些输出更安静。
-v, --verbose使某些输出更详细。
-h, --help显示此消息。
alias [alias … | alias=command]显示现有别名。如果没有给出别名,则打印整个列表。
--edit在文本编辑器中编辑别名。一次可以打开一个或所有别名。如果给定的别名不存在,它将预先填充一个模板。
bundle [subcommand]Homebrew、Homebrew Cask、Mac App Store、Whalebrew 和 Visual Studio Code 中非 Ruby 依赖项的捆绑器。
brew bundle [install]安装并升级(默认)Brewfile 中的所有依赖项。
你可以使用 --file 或通过设置 HOMEBREW_BUNDLE_FILE 环境变量来指定 Brewfile 位置。
您可以通过向以下一个或多个环境变量添加空格分隔的值来跳过依赖项的安装:HOMEBREW_BUNDLE_BREW_SKIP、HOMEBREW_BUNDLE_CASK_SKIP、HOMEBREW_BUNDLE_MAS_SKIP、HOMEBREW_BUNDLE_WHALEBREW_SKIP、HOMEBREW_BUNDLE_TAP_SKIP。
如果所有依赖项都已成功安装,brew bundle 将在与 Brewfile 相同的目录中输出 Brewfile.lock.json。其中包含依赖项和系统状态信息,这对于调试 brew bundle 故障和复制“上次已知良好构建”状态很有用。您可以通过设置 HOMEBREW_BUNDLE_NO_LOCK 环境变量或传递 --no-lock 选项来选择退出此行为。您可能希望将此文件检入与 Brewfile 相同的版本控制系统(或者确保您的版本控制系统忽略它,如果您希望依赖本地计算机的调试信息)。
brew bundle dump将所有已安装的 cask/formulae/images/taps 写入当前目录中的 Brewfile。
brew bundle cleanup卸载 Brewfile 中不存在的所有依赖项。
此工作流对于定期安装大量公式的维护人员或测试人员很有用。
brew bundle check检查 Brewfile 中是否存在的所有依赖项。
如果一切都是最新的,这将提供一个成功的退出代码,使其可用于脚本编写。
brew bundle list列出 Brewfile 中存在的所有依赖项。
默认情况下,仅列出 Homebrew 公式依赖项。
brew bundle exec command在基于 Brewfile 依赖项的隔离构建环境中运行外部命令。
此已清理的构建环境忽略未请求的依赖项,这可确保您在 Brewfile 中未指定的内容不会被 bundle install、npm install 等命令选中。它还将添加编译器标志,这将有助于查找仅限 keg 的依赖项,例如 openssl、icu4c 等。
--file从此位置读取 Brewfile。使用 --file=- 通过管道传输到标准输入/标准输出。
--global从 ~/.Brewfile 或 HOMEBREW_BUNDLE_FILE_GLOBAL 环境变量(如果已设置)读取 Brewfile。
-v, --verboseinstall 在运行命令时打印输出。 check 列出所有缺失的依赖项。
--no-upgradeinstall 不会对过时的依赖项运行 brew upgrade。请注意,如果需要,它们仍可能被 brew install 升级。
-f, --forceinstall 使用 --force/--overwrite 运行。 dump 会覆盖现有的 Brewfile。 cleanup 实际上会执行其清理操作。
--cleanupinstall 执行清理操作,与运行 cleanup --force 相同。如果设置了 HOMEBREW_BUNDLE_INSTALL_CLEANUP 并且传递了 --global,则默认启用此功能。
--no-lockinstall 不会输出 Brewfile.lock.json。
--alllist 所有依赖项。
--formulalist Homebrew 配方依赖项。
--casklist Homebrew cask 依赖项。
--taplist Homebrew tap 依赖项。
--maslist Mac App Store 依赖项。
--whalebrewlist Whalebrew 依赖项。
--vscodelist VSCode 扩展。
--describedump 在每行上方添加描述注释,除非依赖项没有描述。如果设置了 HOMEBREW_BUNDLE_DUMP_DESCRIBE,则默认启用此功能。
--no-restartdump 不会将 restart_service 添加到配方行。
--zapcleanup 使用 zap 命令而不是 uninstall 命令来清理 cask。
command-not-found-init打印设置 shell 的 command-not-found 钩子的说明。如果输出不是 tty,则打印 shell 的相应处理程序脚本。
services [子命令]使用 macOS 的 launchctl(1) 守护进程管理器或 Linux 的 systemctl(1) 服务管理器管理后台服务。
如果传递了 sudo,则在 /Library/LaunchDaemons//usr/lib/systemd/system(在启动时启动)上操作。否则,在 ~/Library/LaunchAgents/~/.config/systemd/user(在登录时启动)上操作。
sudo] brew services [list] (--json) (--debug)列出当前用户(或 root)所有已管理服务的相关信息。如果使用 --debug 运行,则会提供更多来自 Homebrew 和 launchctl(1) 或 systemctl(1) 的输出。
sudo] brew services info (公式|--all|--json)列出当前用户(或 root)所有已管理的服务。
sudo] brew services run (公式|--all)运行服务 公式,无需注册在登录(或启动)时启动。
sudo] brew services start (公式|--all|--file=)立即启动服务 公式,并注册它在登录(或启动)时启动。
sudo] brew services stop (formula|--all)立即停止服务 formula,并取消其在登录(或启动)时启动的注册。
sudo] brew services kill (formula|--all)立即停止服务 formula,但保留其在登录(或启动)时启动的注册。
sudo] brew services restart (formula|--all)立即停止(如果需要)并启动服务 formula,并将其注册为在登录(或启动)时启动。
sudo] brew services cleanup移除所有未使用的服务。
--file使用此位置的服务文件来 start 服务。
--sudo-service-user当在 macOS 上以 root 身份运行时,以该用户身份运行服务。
--all对所有服务运行 subcommand。
--json以 JSON 格式输出。
--no-wait不要等待 stop 完成停止服务。
test-bot [options] [formula]测试 Homebrew 对 tap(Git 仓库)的更改的完整生命周期。例如,对于更改公式的 GitHub Actions 拉取请求,brew test-bot 将确保系统已清理并设置为测试公式,安装公式,对其运行各种测试和检查,打包(打包)二进制文件并测试依赖于它的公式以确保这些更改不会破坏它们。
仅支持 GitHub Actions 作为 CI 提供商。这是因为 Homebrew 使用 GitHub Actions,并且可以免费用于 macOS 和 Linux 工作人员的公共和私人用途。
--dry-run打印将要执行的操作,而不是实际执行。
--cleanup清除 Homebrew 目录中的所有状态。请谨慎使用!
--skip-setup不要检查本地系统是否设置正确。
--build-from-source从源代码构建,而不是构建 bottle。
--build-dependents-from-source从源代码构建依赖项,而不是测试 bottle。
--junit生成一个 JUnit XML 测试结果文件。
--keep-old运行 brew bottle --keep-old 为单个平台构建新版本。
--skip-relocation运行 brew bottle --skip-relocation 构建不需要重新定位的新版本。
--only-json-tab运行 brew bottle --only-json-tab 构建不包含制表符的新版本。
--local要求 Homebrew 在 ./logs/ 下写入详细日志,并将 $HOME 设置为 ./home/
--tap使用给定 tap 的 Git 存储库。对于语法检查,默认为核心 tap。
--fail-fast在失败步骤上立即退出。
-v, --verbose实时打印测试步骤输出。具有将输出作为原始字节传递而不是重新编码为 UTF-8 的副作用。
--test-default-formula在不构建 tap 且未指定其他公式时,使用默认测试公式。
--root-url使用指定的 URL 作为瓶子 URL 的根,而不是 Homebrew 的默认值。
--git-name将 Git 作者/提交者姓名设置为给定姓名。
--git-email将 Git 作者/提交者电子邮件设置为给定电子邮件。
--publish发布上传的版本。
--skip-online-checks不要将 --online 传递给 brew audit,并跳过 brew livecheck。
--skip-new不要将 --new 传递给 brew audit 以获取新公式。
--skip-new-strict不要将 --strict 传递给 brew audit 以获取新公式。
--skip-dependents不要测试任何依赖项。
--skip-livecheck不要测试 livecheck。
--skip-recursive-dependents仅测试直接依赖项。
--skip-checksum-only-audit不要审核仅校验和的更改。
--skip-stable-version-audit不要审核稳定版本。
--skip-revision-audit不要审核修订版本。
--only-cleanup-before仅运行预清理步骤。需要 --cleanup。
--only-setup仅运行本地系统设置检查步骤。
--only-tap-syntax仅运行 tap 语法检查步骤。
--stable仅运行稳定 brew 上所需的 tap 语法检查。
--only-formulae仅运行公式步骤。
--only-formulae-detect仅运行公式检测步骤。
--only-formulae-dependents仅运行公式依赖项步骤。
--only-bottles-fetch仅运行瓶获取步骤。此可选的后上传测试检查所有瓶是否已正确上传。除非请求,否则不会运行,并且仅需在单台机器上运行。要测试的瓶提交必须在测试分支上。
--only-cleanup-after仅运行后清理步骤。需要 --cleanup。
--testing-formulae使用这些测试公式,而不是运行公式检测步骤。
--added-formulae使用这些已添加公式,而不是运行公式检测步骤。
--deleted-formulae使用这些已删除公式,而不是运行公式检测步骤。
--skipped-or-failed-formulae使用公式步骤中这些已跳过或失败的公式,用于公式依赖项步骤。
unalias alias […]移除别名。
which-formula [--explain] command […]显示哪个公式提供了给定的命令。
--explain输出解释,说明如何通过安装一个提供公式来获取 command。
which-update [options] [database]用于 brew which-formula 的数据库更新。
--stats打印有关数据库内容的统计信息(命令和公式的数量,缺少公式的列表)。
--commit使用 git 提交更改。
--update-existing使用过时的公式版本更新数据库条目。
--install-missing安装和更新数据库中缺少且没有瓶的公式。
--eval-all评估所有已安装的 tap,而不仅仅是核心 tap。
--max-downloads指定要下载和更新的最大公式数。
与 git(1) 一样,Homebrew 支持外部命令。这些是可执行脚本,位于 PATH 中的某个位置,名为 brew-cmdname 或 brew-cmdname.rb,可以像 brew cmdname 一样调用。这允许您创建自己的命令,而无需修改 Homebrew 的内部结构。
有关创建自己命令的说明可以在文档中找到:https://docs.brew.sh.cn/External-Commands
许多 Homebrew 命令接受一个或多个formula 参数。这些参数可以采用几种不同的形式
配方的名称:例如 git、node、wget。
已点击配方的完全限定名称:有时,已点击存储库中的配方可能会与 homebrew/core 中的配方冲突。你仍然可以使用特殊语法访问这些配方,例如 homebrew/dupes/vim 或 homebrew/versions/node4。
任意文件:Homebrew 可以从本地路径安装配方。它可以指向配方文件或瓶子。使用 ./ 为相对路径添加前缀,以防止它们被解释为配方或点击名称。
许多 Homebrew Cask 命令接受一个或多个cask 参数。这些参数可以与上面 SPECIFYING FORMULAE 中描述的formula 参数以相同的方式指定。
请注意,环境变量必须设置一个值才能被检测到。例如,运行 export HOMEBREW_NO_INSECURE_REDIRECT=1,而不是仅仅运行 export HOMEBREW_NO_INSECURE_REDIRECT。
HOMEBREW_* 环境变量也可以在 Homebrew 的环境文件中设置
/etc/homebrew/brew.env(系统范围)
$HOMEBREW_PREFIX/etc/homebrew/brew.env(前缀特定)
$XDG_CONFIG_HOME/homebrew/brew.env(如果设置了 $XDG_CONFIG_HOME)或 $HOME/.homebrew/brew.env(否则)(用户特定)
用户特定的环境文件优先于前缀特定的文件,而前缀特定的文件优先于系统范围的文件(除非设置了 HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY,请参见下文)。
请注意,这些文件不支持 shell 变量扩展,例如 $HOME 或命令执行,例如 $(cat file)。
HOMEBREW_API_AUTO_UPDATE_SECS每隔 HOMEBREW_API_AUTO_UPDATE_SECS 秒检查 Homebrew 的 API 以获取新配方或 cask 数据。或者,使用 HOMEBREW_NO_AUTO_UPDATE 完全禁用 API 自动更新检查。
默认值: 450。
HOMEBREW_API_DOMAIN使用此 URL 作为 Homebrew JSON API 的下载镜像。如果该 URL 处的元数据文件暂时不可用,则默认 API 域将用作后备镜像。
默认值: https://formulae.brew.sh/api。
HOMEBREW_ARCH仅限 Linux:将此值传递给表示编译器 -march 选项的类型名称。
默认值: native。
HOMEBREW_ARTIFACT_DOMAIN使用此值作为所有下载 URL 的前缀,包括瓶子的 URL。例如,HOMEBREW_ARTIFACT_DOMAIN=https://:8080 将导致 URL 为 https://example.com/foo.tar.gz 的配方改为从 https://:8080/https://example.com/foo.tar.gz 下载。但是,瓶子 URL 的域将被此前缀替换。这会导致例如 https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21 改为从 https://:8080/v2/homebrew/core/gettext/manifests/0.21 下载。
HOMEBREW_AUTOREMOVE如果设置,调用 brew cleanup 和 brew uninstall 将自动删除未使用的配方依赖项,如果未设置 HOMEBREW_NO_INSTALL_CLEANUP,brew cleanup 将开始定期运行 brew autoremove。
HOMEBREW_AUTO_UPDATE_SECS在某些命令之前(例如 brew install、brew upgrade 和 brew tap)每隔 HOMEBREW_AUTO_UPDATE_SECS 秒运行一次 brew update。或者,使用 HOMEBREW_NO_AUTO_UPDATE 完全禁用自动更新。
默认值: 86400(24 小时),如果已运行开发人员命令,则为 3600(1 小时),如果设置了 HOMEBREW_NO_INSTALL_FROM_API,则为 300(5 分钟)。
HOMEBREW_BAT如果设置,使用 bat 作为 brew cat 命令。
HOMEBREW_BAT_CONFIG_PATH将其用作 bat 配置文件。
默认值: $BAT_CONFIG_PATH。
HOMEBREW_BAT_THEME用作 bat 主题,用于语法高亮。
默认值: $BAT_THEME。
HOMEBREW_BOOTSNAP如果设置,使用 Bootsnap 加快重复 brew 调用。在 macOS 上使用 Homebrew 的供应商可重定位 Ruby 时为无操作(因为它不起作用)。
HOMEBREW_BOTTLE_DOMAIN使用此 URL 作为瓶子的下载镜像。如果该 URL 上的瓶子暂时不可用,则默认瓶子域将用作后备镜像。例如,HOMEBREW_BOTTLE_DOMAIN=https://:8080 将导致所有瓶子从前缀 https://:8080/ 下载。如果瓶子在 HOMEBREW_BOTTLE_DOMAIN 中不可用,则它们将从默认瓶子域下载。
默认值: https://ghcr.io/v2/homebrew/core。
HOMEBREW_BREW_GIT_REMOTE使用此 URL 作为 Homebrew/brew git(1) 远程。
默认值: https://github.com/Homebrew/brew。
HOMEBREW_BROWSER在打开项目主页时用作浏览器。
默认值: $BROWSER 或操作系统的默认浏览器。
HOMEBREW_CACHE使用此目录作为下载缓存。
默认值: macOS:$HOME/Library/Caches/Homebrew,Linux:$XDG_CACHE_HOME/Homebrew 或 $HOME/.cache/Homebrew。
HOMEBREW_CASK_OPTS将这些选项附加到所有 cask 命令。所有 --*dir 选项、--language、--require-sha、--no-quarantine 和 --no-binaries 都受支持。例如,您可以在 ~/.profile、~/.bash_profile 或 ~/.zshenv 中添加类似以下内容:
export HOMEBREW_CASK_OPTS="--appdir=~/Applications --fontdir=/Library/Fonts"
HOMEBREW_CLEANUP_MAX_AGE_DAYS清理所有比此天数更早的缓存文件。
默认值: 120。
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS如果设置,brew install、brew upgrade 和 brew reinstall 将在经过此天数后清理所有公式。
默认: 30。
HOMEBREW_COLOR如果设置,在非 TTY 输出上强制输出颜色。
HOMEBREW_CORE_GIT_REMOTE将此 URL 用作 Homebrew/homebrew-core git(1) 远程。
默认: https://github.com/Homebrew/homebrew-core。
HOMEBREW_CURLRC如果设置为绝对路径(即以 / 开头),在调用 curl(1) 时使用 --config 传递它。如果设置但不是有效路径,请不要传递 --disable,这会禁用 .curlrc 的使用。
HOMEBREW_CURL_PATH仅限 Linux:将此值设置为 Homebrew 可使用的足够新的 curl 可执行文件。
默认: curl。
HOMEBREW_CURL_RETRIES在调用 curl(1) 时将给定的重试次数传递给 --retry。
默认: 3。
HOMEBREW_CURL_VERBOSE如果设置,在调用 curl(1) 时传递 --verbose。
HOMEBREW_DEBUG如果设置,在运行命令时始终假定 --debug。
HOMEBREW_DEVELOPER如果设置,调整行为以与 Homebrew 开发人员(活跃或萌芽)更相关,例如将警告变为错误。
HOMEBREW_DISABLE_LOAD_FORMULA如果设置,拒绝加载公式。这在不信任公式时很有用(例如在拉取请求中)。
HOMEBREW_DISPLAY在浏览器中打开页面时使用此 X11 显示,例如使用 brew home。主要在 Linux 上有用。
默认: $DISPLAY。
HOMEBREW_DISPLAY_INSTALL_TIMES如果设置,在运行结束时打印每个公式的安装时间。
HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN使用此 base64 编码的用户名和密码来验证使用 GitHub Packages 代理的 Docker 注册表。如果设置了 HOMEBREW_DOCKER_REGISTRY_TOKEN,则将使用它。
HOMEBREW_DOCKER_REGISTRY_TOKEN使用此载体令牌来验证使用 GitHub Packages 代理的 Docker 注册表。优于 HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN。
HOMEBREW_EDITOR在编辑单个公式或同一目录中的多个公式时使用此编辑器。
注意: brew edit 将打开所有 Homebrew 作为不连续的文件和目录。Visual Studio Code 可以通过项目模式正确处理此问题,但许多编辑器在这种情况下会执行奇怪的操作。
默认值: $EDITOR 或 $VISUAL。
HOMEBREW_EVAL_ALL如果设置,brew 命令将评估所有公式和木桶,执行它们的任意代码,默认情况下无需 --eval-all。需要缓存公式和木桶描述。
HOMEBREW_FAIL_LOG_LINES在公式 system 失败时输出此数量的输出行。
默认值: 15。
HOMEBREW_FORBIDDEN_CASKS木桶的空格分隔列表。如果木桶或其任何依赖项在此列表中,Homebrew 将拒绝安装木桶。
HOMEBREW_FORBIDDEN_FORMULAE公式的空格分隔列表。如果公式或其任何依赖项在此列表中,Homebrew 将拒绝安装公式或木桶。
HOMEBREW_FORBIDDEN_LICENSES许可证的空格分隔列表。如果公式或其任何依赖项具有此列表中的许可证,Homebrew 将拒绝安装公式。
HOMEBREW_FORBIDDEN_OWNER设置任何 HOMEBREW_FORBIDDEN_* 变量的人员。
默认值: you。
HOMEBREW_FORBIDDEN_OWNER_CONTACT如果设置且有必要,如何联系 HOMEBREW_FORBIDDEN_OWNER。
HOMEBREW_FORBIDDEN_TAPS以空格分隔的 tap 列表。如果某个公式或其任何依赖项位于此列表中的 tap 中,Homebrew 将拒绝安装该公式。
HOMEBREW_FORCE_BREWED_CA_CERTIFICATES如果设置,则始终使用 Homebrew 安装的 ca-certificates,而不是系统版本。如果系统版本过旧,则自动设置。
HOMEBREW_FORCE_BREWED_CURL如果设置,则始终使用 Homebrew 安装的 curl(1),而不是系统版本。如果 curl 的系统版本过旧,则自动设置。
HOMEBREW_FORCE_BREWED_GIT如果设置,则始终使用 Homebrew 安装的 git(1),而不是系统版本。如果 git 的系统版本过旧,则自动设置。
HOMEBREW_FORCE_VENDOR_RUBY如果设置,则始终使用 Homebrew 提供的、可重定位的 Ruby 版本,即使 Ruby 的系统版本足够新。
HOMEBREW_FORMULA_BUILD_NETWORK如果设置,则控制公式构建的沙盒网络访问。覆盖公式内部通过 DSL 使用设置的任何控件。必须是 allow 或 deny。如果未通过此环境变量或 DSL 使用设置任何值,则默认行为是 allow。
HOMEBREW_FORMULA_POSTINSTALL_NETWORK如果设置,则控制公式安装后的沙盒网络访问。覆盖公式内部通过 DSL 使用设置的任何控件。必须是 allow 或 deny。如果未通过此环境变量或 DSL 使用设置任何值,则默认行为是 allow。
HOMEBREW_FORMULA_TEST_NETWORK如果设置,则控制公式测试的沙盒网络访问。覆盖公式内部通过 DSL 使用设置的任何控件。必须是 allow 或 deny。如果未通过此环境变量或 DSL 使用设置任何值,则默认行为是 allow。
HOMEBREW_GITHUB_API_TOKEN将此个人访问令牌用于 GitHub API,以获取 brew search 等功能。你可以在 https://github.com/settings/tokens 创建一个。如果设置,GitHub 将允许你进行更多数量的 API 请求。有关更多信息,请参阅:https://githubdocs.cn/en/rest/overview/rate-limits-for-the-rest-api
注意:Homebrew 不需要任何范围的权限,但某些开发者命令可能需要其他权限。
HOMEBREW_GITHUB_PACKAGES_TOKEN访问 GitHub Packages 注册表(其中可能存储瓶子)时使用此 GitHub 个人访问令牌。
HOMEBREW_GITHUB_PACKAGES_USER访问 GitHub Packages 注册表(其中可能存储瓶子)时使用此用户名。
HOMEBREW_GIT_EMAIL将 Git 作者和提交者电子邮件设置为此值。
HOMEBREW_GIT_NAME将 Git 作者和提交者名称设置为此值。
HOMEBREW_GIT_PATH仅限 Linux:将此值设置为足够新的 git 可执行文件,以便 Homebrew 使用。
默认值: git。
HOMEBREW_INSTALL_BADGE在每次成功构建的安装摘要之前打印此文本。
默认值:“啤酒杯”表情符号。
HOMEBREW_LIVECHECK_WATCHLIST当未将公式参数传递给 brew livecheck 时,请查阅此文件以获取默认情况下要检查的公式列表。
默认值:如果设置了 $XDG_CONFIG_HOME,则为 $XDG_CONFIG_HOME/homebrew/livecheck_watchlist.txt,否则为 $HOME/.homebrew/livecheck_watchlist.txt。
HOMEBREW_LOGS使用此目录存储日志文件。
默认值:macOS:$HOME/Library/Logs/Homebrew,Linux:$XDG_CACHE_HOME/Homebrew/Logs 或 $HOME/.cache/Homebrew/Logs。
HOMEBREW_MAKE_JOBS使用此值作为使用 make(1) 构建时要运行的并行作业数。
默认值:可用 CPU 内核数。
HOMEBREW_NO_ANALYTICS如果设置,则不发送分析数据。Google Analytics 已被销毁。有关更多信息,请参阅:https://docs.brew.sh.cn/Analytics
HOMEBREW_NO_AUTO_UPDATE如果设置,在运行某些命令之前不要自动更新,例如 brew install、brew upgrade 和 brew tap。最好通过将 HOMEBREW_AUTO_UPDATE_SECS 设置为高于默认值来减少运行此命令的频率。请注意,设置此选项并例如点击新点击可能会导致配置损坏。请确保在报告任何问题之前始终运行 brew update。
HOMEBREW_NO_BOOTSNAP如果设置,不要使用 Bootsnap 来加速重复的 brew 调用。
HOMEBREW_NO_CLEANUP_FORMULAE由逗号分隔的公式列表。如果公式出现在此列表中,Homebrew 将拒绝清理或自动删除该公式。
HOMEBREW_NO_COLOR如果设置,不要打印添加了颜色的文本。
默认值: $NO_COLOR。
HOMEBREW_NO_EMOJI如果设置,不要在构建成功时打印 HOMEBREW_INSTALL_BADGE。
HOMEBREW_NO_ENV_HINTS如果设置,不要打印任何有关使用环境变量更改 Homebrew 行为的提示。
HOMEBREW_NO_GITHUB_API如果设置,不要使用 GitHub API,例如在安装失败后进行搜索或获取相关问题。
HOMEBREW_NO_INSECURE_REDIRECT如果设置,禁止从安全的 HTTPS 重定向到不安全的 HTTP。
注意:虽然确保您的下载完全安全,但这可能会导致从 SourceForge、一些 GNU 和 GNOME 托管的公式下载失败。
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK如果设置,在安装、升级或重新安装公式后,不要检查依赖项的损坏链接或过时的依赖项。这将导致更少的依赖项(及其依赖项)被升级或重新安装,但可能会导致运行 brew install formula 或 brew upgrade formula 导致更多损坏。
HOMEBREW_NO_INSTALL_CLEANUP如果设置,brew install、brew upgrade 和 brew reinstall 将永远不会自动清理已安装/已升级/已重新安装的公式或每 HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS 天清理所有公式。或者,HOMEBREW_NO_CLEANUP_FORMULAE 允许指定不清理的特定公式。
HOMEBREW_NO_INSTALL_FROM_API如果设置,不要使用 Homebrew 的 API 在 homebrew/core 和 homebrew/cask 点击中安装公式和木桶,而是使用这些存储库的(大而慢的)本地检出。
HOMEBREW_NO_INSTALL_UPGRADE如果设置,brew install formula|cask 将不会升级 formula|cask(如果已安装但已过时)。
HOMEBREW_NO_UPDATE_REPORT_NEW如果设置,brew update 将不会显示新添加的配方/桶列表。
HOMEBREW_PIP_INDEX_URL如果设置,brew install formula 将使用此 URL 下载 PyPI 包资源。
默认值: https://pypi.ac.cn/simple。
HOMEBREW_PRY如果设置,为 brew irb 命令使用 Pry。
HOMEBREW_SIMULATE_MACOS_ON_LINUX如果设置,在 Linux 上运行 Homebrew 将模拟某些 macOS 代码路径。在 Linux 上审核 macOS 配方时,这很有用。
HOMEBREW_SKIP_OR_LATER_BOTTLES如果与 HOMEBREW_DEVELOPER 一起设置,请勿使用来自旧版 macOS 的瓶子。这在开发新版 macOS 时很有用。
HOMEBREW_SORBET_RUNTIME如果设置,使用 Sorbet 启用运行时类型检查。对于 HOMEBREW_DEVELOPER 或运行某些开发人员命令时默认设置。
HOMEBREW_SSH_CONFIG_PATH如果设置,Homebrew 将使用给定的配置文件,而不是通过 SSH 获取 Git 存储库时的 ~/.ssh/config。
默认值: $HOME/.ssh/config
HOMEBREW_SUDO_THROUGH_SUDO_USER如果设置,Homebrew 将使用 SUDO_USER 环境变量来定义在运行 sudo(8) 时要通过 sudo(8) 的用户。
HOMEBREW_SVN将其用作 svn(1) 二进制文件。
默认值: Homebrew 构建的 Subversion(如果已安装)或系统提供的二进制文件。
HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY如果在 Homebrew 的系统范围环境文件中设置(/etc/homebrew/brew.env),则系统范围环境文件将最后加载以覆盖任何前缀或用户设置。
HOMEBREW_TEMP使用此路径作为构建包的临时目录。如果系统临时目录和 Homebrew 前缀位于不同的卷上,则可能需要更改此设置,因为当目标尚不存在时,macOS 难以在卷之间移动符号链接。使用 FileVault 或自定义 SSD 配置时,通常会发生此问题。
默认值: macOS:/private/tmp,Linux:/tmp。
HOMEBREW_UPDATE_TO_TAG如果设置,始终使用最新的稳定版本(即使已运行开发人员命令)。
HOMEBREW_UPGRADE_GREEDY如果设置,将 --greedy 传递给所有 cask 升级命令。
HOMEBREW_VERBOSE如果设置,在运行命令时始终假定 --verbose。
HOMEBREW_VERBOSE_USING_DOTS如果设置,详细输出将每分钟打印一次 .。这有助于避免由于没有输出而导致长时间运行的 Homebrew 命令被终止。
HOMEBREW_VERIFY_ATTESTATIONS如果设置,Homebrew 将使用 gh 工具来验证 homebrew-core 中 bottle 的构建出处的加密证明。
SUDO_ASKPASS如果设置,在调用 sudo(8) 时传递 -A 选项。
all_proxy通过 Homebrew 下载时,为 curl(1)、git(1) 和 svn(1) 使用此 SOCKS5 代理。
ftp_proxy通过 Homebrew 下载时,为 curl(1)、git(1) 和 svn(1) 使用此 FTP 代理。
http_proxy通过 Homebrew 下载时,为 curl(1)、git(1) 和 svn(1) 使用此 HTTP 代理。
https_proxy通过 Homebrew 下载时,为 curl(1)、git(1) 和 svn(1) 使用此 HTTPS 代理。
no_proxy通过 Homebrew 下载时,curl(1)、git(1) 和 svn(1) 不使用代理的主机名和域名列表,以逗号分隔。
设置上面记录的 http_proxy、https_proxy、all_proxy、ftp_proxy 和/或 no_proxy 环境变量。
例如,要使用未经身份验证的 HTTP 或 SOCKS5 代理
export http_proxy=http://$HOST:$PORT
export all_proxy=socks5://$HOST:$PORT
对于经过身份验证的 HTTP 代理
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
Homebrew 文档:https://docs.brew.sh.cn
Homebrew API:https://rubydoc.brew.sh
git(1)、git-log(1)
Homebrew 项目负责人是 Mike McQuaid。
Homebrew 项目领导委员会包括 Colin Dean、Issy Long、Mike McQuaid、Patrick Linnane 和 Vanessa Gennarelli。
Homebrew 技术指导委员会包括 Bo Anderson、FX Coudert、Michka Popoff、Mike McQuaid 和 Rylan Polster。
Homebrew 维护者包括 Alexander Bayandin、Bevan Kay、Bo Anderson、Branch Vincent、Caleb Xu、Carlo Cabrera、David Baumgold、Douglas Eichelberger、Dustin Rodrigues、Eric Knibbe、FX Coudert、Issy Long、Justin Krehel、Markus Reiter、Miccal Matthews、Michael Cho、Michka Popoff、Mike McQuaid、Nanda H Krishna、Patrick Linnane、Razvan Azamfirei、Rui Chen、Ruoyu Zhong、Rylan Polster、Sam Ford、Sean Molenaar、Thierry Moisan、Timothy Sutton 和 William Woodruff。
贡献较大的前任维护者包括 Misty De Méo、Shaun Jackman、Vítor Galvão、Claudia Pellegrino、Seeker、Jan Viljanen、JCount、commitay、Dominyk Tiller、Tim Smith、Baptiste Fontaine、Xu Cheng、Martin Afanasjew、Brett Koonce、Charlie Sharpsteen、Jack Nagel、Adam Vandenberg、Andrew Janke、Alex Dunn、neutric、Tomasz Pajor、Uladzislau Shablinski、Alyssa Ross、ilovezfs、Chongyu Zhu 和 Homebrew 的创建者:Max Howell。
请参阅我们在 GitHub 上的问题