reference 速查表:Homebrew(brew)完整命令备忘 — 从安装到包管理、Cask、Tap 与清理
2026/9/14 3:13:51 网站建设 项目流程

reference 速查表:Homebrew(brew)完整命令备忘 — 从安装到包管理、Cask、Tap 与清理

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

本文基于 reference 仓库(中文开发者技术速查清单集合)中的 Homebrew 备忘清单 docs/homebrew.md 系统整理,覆盖 Homebrew 在 macOS(或 Linux)上的完整命令体系:brew 本体的安装与国内镜像加速、软件包安装/卸载/链接、升级更新、Cask 图形应用管理、tap 第三方源仓库、缓存清理,直至彻底卸载 Homebrew。读完后你可以直接按小节查阅每条brew子命令的用途并复制使用,同时了解这张速查表在 reference 项目中如何被渲染与发布。

速查表的定位与查看方式

在 reference 项目中的位置

Homebrew 被 docs/homebrew.md 原文开篇定义为"macOS(或 Linux) 缺少的包管理器",这张备忘清单整理brew命令的使用与安装。在 reference 仓库首页 README.md 中,Homebrew 卡片归入"软件包管理器"分类(与 APT、Yum、Pacman、Conan、CocoaPods、Cargo、SDKMAN 并列),卡片链接指向./docs/homebrew.md,并带有macOS标签(见 README.md 软件包管理器分类)。

按照 docs/quickreference.md 的图标命名规范,速查表文档homebrew.md对应首页图标 assets/homebrew.svg(图标名称与清单名称保持一致,SVG 使用1em尺寸与currentColor继承颜色,见 图标规范说明)。

页面结构约定

reference 仓库中每张速查表遵循统一结构(见 页面结构约定):

  • 一级标题(H1)作为页面大标题,例如"Homebrew 备忘清单";
  • 大标题下紧跟一段介绍文本;
  • H2 作为分类标题("安装"、"升级"、"Brew Cask 命令"等);
  • H3 作为"卡片",卡片内容即命令表格或代码块。

docs/homebrew.md 中还使用<!--rehype:wrap-class=row-span-3-->一类的 rehype 注释控制卡片网格的跨行布局(如 安装章节的布局注释),这些注释在渲染后不影响 Markdown 可读性。

本地编译与在线查看

reference 是纯静态速查站,编译链路如下:

  • package.json 中定义了startrefs-cli --watch监听 md 文件实时生成 HTML)与buildrefs-cli编译输出 HTML 到dist/)脚本,并要求 Node >= 16(见 构建脚本);
  • 本地调试流程:npm i安装依赖、npm run build编译、用浏览器打开dist/index.html预览,npm run start可开启监听模式(见 本地编译预览);
  • 部署侧,netlify.toml 指定执行npm run build并发布dist目录;Dockerfile 则把dist静态资源复制到精简的静态网站基础镜像中,便于自建部署。

因此本文整理的所有命令,其原始出处均可在仓库的docs/homebrew.md中逐行对应。

安装 Homebrew

官方安装命令

原文档给出的标准安装方式为下载并执行官方安装脚本(见 安装命令):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

脚本引用自install/HEAD/install.shHEAD始终指向安装仓库的默认分支最新脚本,适合常规安装场景。

使用国内镜像加速安装和更新

原文档提供的方法是把Homebrew/brewHomebrew/homebrew-core两个仓库的 Git 镜像放到国内代码托管平台(gitee)同步后,通过环境变量指向镜像地址,再执行安装脚本(见 镜像加速安装):

# 把 Homebrew/brew 的 Git 镜像放在这里 export HOMEBREW_BREW_GIT_REMOTE="..." # 将 Homebrew/homebrew-core 的 Git 镜像放在这里 export HOMEBREW_CORE_GIT_REMOTE="..." /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

两个变量的作用:

环境变量含义
HOMEBREW_BREW_GIT_REMOTEHomebrew 主程序仓库(brew 本体)使用的 Git 镜像地址
HOMEBREW_CORE_GIT_REMOTE核心配方仓库(homebrew-core,存放绝大多数 formula)使用的 Git 镜像地址

使用注意:

  • "..."占位符需替换为实际可用的镜像仓库 URL;
  • 这两个环境变量应写入 shell 配置文件(如~/.zshrc~/.bashrc)使其长期生效,否则后续brew updatebrew upgrade等涉及仓库拉取的操作仍会回落到官方仓库地址;
  • 该方案的收益在于:安装阶段以及之后的更新都走国内镜像,拉取源码仓库的速度显著提升。

安装期间跳过克隆(beta)

原文档还给出了通过 API 模式安装、在安装期间跳过本地克隆的方式(标注为 beta 特性,见 API 模式安装):

export HOMEBREW_INSTALL_FROM_API=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

设置HOMEBREW_INSTALL_FROM_API=1后,brew 通过 API 获取配方元数据而不在本地克隆庞大的 homebrew-core 仓库,可以加快安装过程。

安装、卸载与链接软件包

原文档"安装卸载"一节的命令表(见 安装卸载表)完整如下:

命令说明
brew install git安装一个软件包
brew reinstall git重新安装一个软件包
brew uninstall git删除/卸载软件包
brew switch git 2.5.0切换软件包的版本
brew unlink git取消软件包的链接
brew link git链接已有的软件包
brew cleanup git删除旧版本的软件包及依赖

补充说明:

  • Homebrew 以"配方(formula)"描述软件包,install会下载并构建配方、把可执行文件以符号链接方式挂到前缀目录(prefix)的bin下;link/unlink就是手工控制这组符号链接,例如同时安装多个版本时用来决定哪个版本的入口文件生效;
  • reinstall用于在同一版本上强制重新构建/重放安装过程,适合修复安装损坏;
  • 关于brew switch:这是较早期 Homebrew 提供的版本切换子命令。在较新版本的 Homebrew 中该子命令已不再默认提供,实际使用中若执行会提示命令不存在;版本选择通常改为在brew install时结合配方参数(如按 git tag 安装)来实现,具体以当前版本brew help的输出为准;
  • brew cleanup git针对单个配方清理旧版本,后文"清理"一节会给出更完整的清理选项。

升级与更新

原文档"升级"一节的命令表(见 升级表):

命令说明
brew upgrade git升级一个软件包
brew upgrade升级所有可升级的软件包
brew update更新HomebrewCask

updateupgrade的分工可以这样理解:update刷新的是 Homebrew 自身及其配方仓库元数据(相当于刷新"软件源"),upgrade则是把已安装软件包升级到元数据中的最新可用版本。日常运维中可以先执行brew outdated(见下文全局命令)预览哪些包落后,再决定是全部升级还是逐个升级。

Brew Cask 命令:管理图形界面应用

原文档"Brew Cask 命令"一节(见 Cask 表):

命令说明
brew install --cask firefox安装火狐浏览器
brew list --cask列出已安装应用

Cask 命令用于与图形界面应用程序交互,可以安装和管理 macOS 上的图形界面应用程序。Cask 是 Homebrew 面向.app图形应用(浏览器、IDE、编辑器等)的扩展命名空间:普通brew install <name>安装的是命令行"配方",而brew install --cask <name>安装的则是带图形界面的应用包,因此两者不会重名冲突。查看已安装的 Cask 应用时同样需要带上--cask标记,如brew list --cask

更多包命令:查看配方详情

原文档"更多包命令"一节的命令表(见 包命令表):

命令说明
brew info git显示软件包的版本、依赖、注意事项等信息
brew edit git编辑此软件包的安装脚本
brew cat git打印此软件包的安装脚本
brew home git打开此软件包的主页
brew search git搜索软件包公式并显示相关信息
brew list --versions git查看安装的软件包及其版本信息

几点实操提示:

  • brew cat git输出配方内容(即原文所称"安装脚本",通常为 Ruby 配方文件),是了解一个包依赖了哪些库、如何构建的最直接方式;
  • brew edit git会调用编辑器打开该配方,适合临时打补丁后配合brew install --build-from-source一类参数使用(改动仅影响本机环境);
  • brew home git打开配方页面对应的项目主页,便于追溯上游版本公告。

全局命令

原文档"全局命令"一节的命令表(见 全局命令表):

命令说明
brew list列出已安装的软件包
brew outdated列出需要升级的软件包
brew doctor诊断 Homebrew 是否存在问题
brew pin <formula>防止指定软件包被升级
brew unpin <formula>允许指定软件包被升级
  • brew list不带参数时列出全部已安装配方,配合--versions可以显示版本(如brew list --versions);
  • brew pin/brew unpin是典型的"版本锁定"手段:把依赖敏感的生产工具 pin 住后,brew upgrade会跳过该配方,待验证兼容后再unpin恢复升级;
  • brew doctor用于检查 Homebrew 安装与已装包的健康状态(如依赖关系异常、未链接的包等常见问题),环境出问题时建议优先执行。

帮助命令

原文档"帮助命令"一节(见 帮助命令表):

命令说明
brew help打印帮助信息
brew help <sub-command>打印子命令的帮助信息

遇到不确定的子命令参数时,brew help <sub-command>是确认当前版本实际支持选项的可靠方式(例如上文提到的brew switch是否存在,直接brew help switch或执行该命令即可验证)。

Brew 清理:旧版本与缓存管理

原文档"Brew 清理"一节给出了六个清理场景(见 清理章节):

删除旧版本的已安装软件包:

$ brew cleanup

删除旧版本指定软件包:

$ brew cleanup <formula>

清理并附带 scrub(原文档简述为"删除未安装的软件包"):

$ brew cleanup -s

删除所有 Homebrew 缓存:

$ brew cleanup --prune=all

直接删除 Homebrew 的缓存目录:

$ rm -rf $(brew --cache)

显示所有将被删除的软件包(试运行):

$ brew cleanup -n

各选项的作用说明:

  • 不带参数的brew cleanup清理所有已安装配方的旧版本;带配方名(brew cleanup <formula>)时只清理指定配方;
  • -n(dry-run)只打印将被删除的内容而不实际执行,适合在清理前先确认影响范围;
  • --prune=all表示剪除全部下载缓存;Homebrew 默认只会剪除超过默认时间窗口的缓存文件,如需自定义窗口可用--prune=N形式的参数(N 为小时数),具体以brew help cleanup为准;
  • -s对应 Homebrew 的 scrub 行为,即清理时同时移除 cellars 中的开发文件(如头文件等);原文档将其概括为"删除未安装的软件包",理解时以brew help cleanup--scrub的说明为准;
  • brew --cache输出 Homebrew 缓存目录路径,因此rm -rf $(brew --cache)是直接删除缓存目录的更"暴力"方式,执行前建议先确认路径输出正确。

Tap 管理第三方源码仓库

原文档"Brew 源码仓库"一节(见 Tap 章节)整理如下(原文中"点击"为 tap 的误译,语义应为"添加"):

列出所有当前已添加的源码仓库(tap):

$ brew tap

使用 https 从 GitHub 中添加软件包源码仓库:

# https://github.com/user/homebrew-repo $ brew tap <user/repo>

从指定 URL 中添加软件源码仓库:

$ brew tap <user/repo> <URL>

从存储库中删除给定的源码仓库:

$ brew untap <user/repo>

Tap 机制的意义:Homebrew 的配方分散在多个 Git 仓库中,内置的homebrew-core覆盖了绝大多数软件;当需要安装不在 core 中的软件(如商业工具、小众组件)时,通过brew tap <user/repo>添加第三方配方仓库,之后brew install就能从该 tap 找到配方;不再需要时用brew untap移除。这与前文HOMEBREW_CORE_GIT_REMOTE的作用互补——后者只是给内置 core 仓库换镜像地址,前者则是增删配方来源本身。

搜索与查看

原文档"搜索查看"一节(见 搜索查看章节):

列出所有已安装的软件包:

$ brew list

显示所有本地可用的 brew 配方:

$ brew search

搜索包含指定字符的 brew 配方:

$ brew search <text>

显示有关软件包的信息:

$ brew info <formula>

brew search不带参数时列出本地配方仓库中可用的全部配方(数量庞大,日常更常用带关键词的形式);brew search <text>按关键词匹配配方名,并支持正则表达式模式,例如用正则同时匹配多个候选名。安装前先用brew info <formula>确认版本、依赖与注意事项,是避免"装完才发现依赖爆炸"的好习惯。

依赖关系查看

原文档"依赖"一节(见 依赖章节):

命令说明
brew deps --tree --installed查看包和依赖关系图
brew deps git显示 git 依赖

brew deps用于显示包之间的依赖关系,可针对单个配方(brew deps git列出 git 依赖了哪些包);加上--tree以树形结构呈现依赖层次,--installed则把范围限定在已安装的包上。特定于某个包的其他选项可以附加到该命令,具体以brew help deps为准。排查"升级 A 为什么连带重装一堆库"这类问题时,该命令非常实用。

卸载 Homebrew

原文档"卸载 Homebrew"一节(见 卸载章节)给出两步:

  1. 使用官方卸载脚本卸载 Homebrew;
  2. 验证文件是否已删除。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" $ sudo rm -rf /opt/homebrew

补充说明:

  • 官方uninstall.sh会移除 brew 本体及其管理的安装内容;第二条命令是对安装目录的兜底清理;
  • /opt/homebrew是 Apple Silicon Mac 上的默认前缀(prefix),Intel Mac 上默认前缀为/usr/local,兜底删除前建议先用brew --prefix确认本机实际前缀路径;
  • 卸载完成后按原文提示人工验证相关目录是否已删除(ls检查前缀目录、which brew应无结果)。

高频命令速览

将全篇最高频的命令收敛为一张速查表,便于快速检索:

场景命令
安装 / 重装 / 卸载包brew install <f>/brew reinstall <f>/brew uninstall <f>
安装图形应用brew install --cask <name>
升级 / 更新brew upgrade [f]/brew update
查看已安装与版本brew list/brew list --versions
查看可升级项brew outdated
锁定 / 解锁版本brew pin <f>/brew unpin <f>
查看配方详情brew info <f>/brew cat <f>/brew edit <f>
搜索配方brew search [text]
查看依赖brew deps [f]/brew deps --tree --installed
清理旧版本 / 缓存brew cleanup/brew cleanup -n/brew cleanup --prune=all
添加 / 移除第三方源brew tap <user/repo>/brew untap <user/repo>
诊断brew doctor
帮助brew help [sub-command]

相关资源与延伸阅读

  • Homebrew 的官方站点为 brew.sh,brew 主程序仓库与 homebrew-core 配方仓库分别是Homebrew/brewHomebrew/homebrew-core(原文"另见"一节列出的外部资料,本文按要求不输出外部链接);
  • 本仓库"软件包管理器"分类下的兄弟速查表可横向对照:APT、Yum、Pacman、Conan、CocoaPods、Cargo、SDKMAN;
  • 速查表样式与构建规范见 docs/quickreference.md,贡献流程见 CONTRIBUTING.md。

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询