Homebrew 命令速查表 - macOS 包管理常用命令大全

换台新 Mac,$PATH 与依赖装得乱,半天就没了,而 Homebrew 能把这些收敛成可复现的命令。本表覆盖公式的安装/更新/卸载、Cask GUI 应用、brew services 管理后台服务、国内源切换,以及依赖查看与问题排查。不是简单罗列包名,而是告诉你该用哪个 flag 装 HEAD 分支还是预编译 bottle、以及 brew doctor 报错该怎么定位。读完基本能靠终端完成一套 Mac 工具链的搭建与修复。

开发工具·共 38 条命令·最后更新 2026-07-21
homebrewbrewmac包管理

典型使用场景

面向把整台开发机交给 Homebrew 管理的 macOS/Linux 工程师。日常摩擦几乎都来自四件事:brew update 只更新 Homebrew 自身索引、不升级任何包(很多人以为它会顺带升级,结果代码半年没动);formula 与 cask 是两套体系,brew upgrade 与 brew upgrade --cask 各管一半,混用会以为「升级没生效」;bottle 下载慢或失败时需要手动切镜像;以及升级后依赖冲突、磁盘被旧版本缓存撑满时的清理路径。本表把这四条主线和 Brewfile 可复现安装一起覆盖。

基础操作 12

brew install wget
安装命令行工具
brew uninstall wget
卸载
brew update
更新 Homebrew 自身
brew upgrade
升级所有已安装包
brew upgrade wget
升级指定包
brew list
列出已安装的公式,核对某包是否已装、装了哪些版本
brew info wget
查看包信息(版本、依赖、caveats),装之前先确认依赖是否符合预期
brew search nginx
搜索可用包,不确定准确名字时先模糊搜一遍
brew cleanup
清理旧版本缓存,磁盘紧张时先跑这个释放空间
brew outdated
查看可升级的包,升级前先评估是否有破坏性更新
brew reinstall wget
重新安装(修复损坏)
brew autoremove
自动清理不再需要的依赖

Cask GUI 应用 5

brew install --cask visual-studio-code
安装 GUI 应用
brew uninstall --cask visual-studio-code
卸载 GUI 应用
brew list --cask
列出已安装 GUI 应用
brew search --cask chrome
搜索 GUI 应用
brew upgrade --cask
升级所有 GUI 应用

服务管理 5

brew services list
列出所有服务状态
brew services start mysql
启动并加入开机自启
brew services stop mysql
停止服务
brew services restart mysql
重启服务
brew services run mysql
启动但不加入开机自启

源与 Tap 5

brew tap homebrew/cask-fonts
添加第三方仓库
brew untap homebrew/cask-fonts
移除第三方仓库
brew tap
列出已添加的 tap
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
临时切换 API 源
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
临时切换 Bottle 源

问题排查 7

brew doctor
检查环境问题
brew config
查看 Homebrew 配置
brew deps wget
查看依赖关系
brew pin wget
锁定版本不升级
brew unpin wget
解除锁定
brew leaves
查看顶层手动安装的包
brew uses --installed wget
查看哪些已安装包依赖它

Bundle 批量管理 Bundle 4

brew bundle dump
导出已安装列表到 Brewfile
brew bundle install
从 Brewfile 批量安装
brew bundle cleanup
清理 Brewfile 中未列出的包
brew bundle check
检查是否满足 Brewfile 依赖

参数矩阵

参数作用示例
brew update只刷新 Homebrew 自身与包索引,不会升级任何已安装包brew update
brew upgrade升级已安装的 formula(命令行工具),GUI 应用需用 --caskbrew upgrade --cask
brew cleanup删除旧版本与下载缓存,磁盘告急时见效最快的一条命令brew cleanup
brew pin锁定版本使其不被 upgrade 动,用于「升上去就崩」的包brew pin wget
brew bundle基于 Brewfile 导出/安装/校验,让新机器上的工具链可复现brew bundle dump

易错点与避坑指南

现象跑了 brew update 之后 git、node 版本完全没变,以为命令没生效。

原因update 只刷新 Homebrew 自身与索引,升级动作在 upgrade 里。

处置先 brew outdated 看有哪些可升,再执行 brew upgrade;GUI 应用另跑 brew upgrade --cask。

现象brew install 提示某个依赖版本冲突,非要 --force-overwrite 才能装上。

原因旧版本残留与新依赖要求互斥,说明升级链路没走完。

处置先 brew update && brew upgrade,再 brew cleanup 清掉旧版本缓存,冲突仍存在才考虑 brew reinstall 该包。

现象bottle 下载极慢或反复失败,而源码编译又缺依赖装不上。

原因默认走 GitHub 的分发域名,国内网络下经常不可达。

处置临时 export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles" 后重试。

现象装完一堆工具后磁盘只剩几个 G,Caskroom/Library 里堆着多个旧版本。

原因每次升级都会保留旧版本与旧下载缓存,不会自动清理。

处置定期 brew cleanup,再 brew autoremove 移除不再需要的依赖。

现象一台机器上同时存在两套 Homebrew(arm64 与 x86_64),命令互相覆盖且 brew doctor 报警。

原因在 Apple Silicon 上装了 /usr/local 与 /opt/homebrew 两份,或从 Intel 迁移过来没清干净。

处置先 brew config 确认当前架构与 prefix,只保留一份并把它放到 PATH 最前。

排障路径

  1. 1环境出问题时先跑官方体检

    brew doctor

    它会直接指出重复安装、PATH 顺序、缺失的 Command Line Tools 等具体问题。

  2. 2升级前先看清影响面

    brew outdated && brew info wget

    outdated 给出可升级清单,info 给出版本、依赖与 caveats,破坏性变更写在 caveats 里。

  3. 3确认某包是否安装、谁在依赖它

    brew list && brew deps wget && brew uses --installed wget

    deps 看它依赖谁,uses --installed 看已装的谁依赖它,二者方向相反别搞混。

  4. 4把当前工具链固化成 Brewfile 并在新机器复现

    brew bundle dump && brew bundle install

    dump 生成 Brewfile,install 在新机器按它重建;brew bundle check 可校验是否已满足。

命令示例

安装前先查名字与依赖

brew search nginx brew info wget brew list

brew info 里的 caveats 常写明额外的 PATH 或配置要求,装之前值得先读一遍。

更新、评估与升级

brew update brew outdated brew upgrade brew upgrade wget

update 只刷新 Homebrew 自身;outdated 给出可升级清单,确认后再 upgrade。

formula 与 cask 分开管理

brew install --cask visual-studio-code brew list --cask brew search --cask chrome brew upgrade --cask brew uninstall --cask visual-studio-code

GUI 应用走 cask 体系,brew upgrade 不会碰它们,必须加 --cask。

服务管理与依赖体检

brew services list brew services start mysql brew services run mysql brew services restart mysql brew services stop mysql brew doctor brew config

start 会加入开机自启,run 只在本次开机生效;服务 plist 在 ~/Library/LaunchAgents/。

常见坑与注意事项

  • brew update 不升级任何包,别把它当成升级命令;升级是 brew upgrade 与 brew upgrade --cask 两条独立路径。
  • 依赖冲突时不要直接 --force-overwrite,先用 brew info 看清冲突来源,强装会把环境搞到不可复现。
  • brew cleanup 会真删旧版本与下载缓存,删完想回退只能重装,执行前用 brew leaves 确认哪些是顶层手动安装的。
  • 同一台机器同时存在 arm64 与 x86_64 两套 Homebrew 会互相覆盖,命令行为诡异时先用 brew doctor 查这件事。
  • bottle 下载慢或失败时先切 HOMEBREW_API_DOMAIN 与 HOMEBREW_BOTTLE_DOMAIN 镜像,别直接退回到源码编译。

提示

  • 国内网络建议先换源再 install,否则 bottle 下载经常超时。
  • brew services 管理的服务 plist 在 ~/Library/LaunchAgents/,出问题先看那里。
  • brew cleanup 会删除旧版本和下载缓存,磁盘紧张时跑一下。

常见问题

brew update 跑完了,为什么 git 和 node 版本还是老的?

因为 update 只刷新 Homebrew 自身的代码与包索引,不会碰任何已安装包。要真正升级得跑 brew upgrade,或者只升一个包用 brew upgrade wget。升级前先用 brew outdated 看一遍可升级清单评估破坏性变更。另一个常见情况是升级只覆盖了 formula:GUI 应用属于 cask 体系,必须用 brew upgrade --cask 才会动,brew list 与 brew list --cask 也是分开的两份清单。

安装命令到底怎么写才不用猜名字?

三步。brew search nginx 模糊搜出准确包名;brew info wget 看版本、依赖和 caveats,装之前确认依赖是否符合预期;brew list 核对是否已经装过、装的是哪个版本。Cask 侧对应命令是 brew search --cask chrome 与 brew list --cask。装错名字时不要直接 --force-overwrite,先 brew info 看依赖冲突的真实原因。

磁盘被旧版本和缓存撑满,先跑哪条命令?

brew cleanup,它删除旧版本与下载缓存,是见效最快的一条。接着可以 brew autoremove 清掉不再被需要的依赖,以及 brew bundle cleanup 清掉 Brewfile 里未列出的包。执行前先用 brew leaves 看哪些是顶层手动安装的,确认没有误删你确实在用的东西。Cask 的旧版本残留在 Caskroom 目录里,同样由 cleanup 处理。

某工具一升级就崩,怎么固定住版本?

用 brew pin wget 把它锁住,brew upgrade 会跳过被 pin 的包;等上游修好了用 brew unpin wget 解除。想查清是哪个已安装的包依赖它,跑 brew uses --installed wget;看它自身依赖用 brew deps wget。确认整体环境是否正常则交给 brew doctor 与 brew config。

怎么让一台新机器上的工具链和现在完全一致?

四条命令形成一个闭环:brew bundle dump 把当前已安装列表导出成 Brewfile;把 Brewfile 提交进仓库;新机器上 brew bundle install 按它批量安装;brew bundle check 校验是否已满足依赖,brew bundle cleanup 清掉 Brewfile 之外多装的包。配 cask 的话同样写进 Brewfile,一并由 bundle 管理。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年7月21日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们