从新 Mac 开机到项目环境能跑起来,中间隔着的往往不是代码,而是一堆“缺这个库、少那个依赖”的破事。我第一次被 Homebrew 圈粉,是在一台刚拆封的 MacBook 上想装 Git:去官网下 dmg、拖进 Applications、打开又提示缺证书、最后还得自己配 PATH,折腾了一上午。后来朋友甩过来一句话:先装 Homebrew,后面所有软件一条命令搞定。从此我再没手动编译过那些开源工具。
Homebrew 是 macOS(也支持 Linux)上的包管理器。它解决的核心问题,是把所有命令行软件和常见 GUI 软件的安装、升级、卸载、依赖管理统一成 brew install、brew upgrade、brew uninstall 这样的命令。不管你是刚接触 Mac 的新手,还是已经踩过无数坑的开发者,它基本是进入 macOS 开发环境的第一块基石。下面这篇很长,我按“为什么需要它、怎么快速装好、日常怎么用、遇到问题怎么排”四个角度展开,全部来自我这几年的实机操作,不是贴文档。先从不废话开始。
1. Homebrew 到底解决了什么问题,为什么 macOS 用户绕不开它
1.1 包管理器的价值:从“手动装软件”到“一句话搞定”
在说 Homebrew 之前,先看没有它的时候我们是怎么装软件的。很多开源工具,比如 ffmpeg、wget、nginx、mysql,并不会给你一个干净的 dmg 安装包。你通常要去 GitHub 下载源码,然后自己执行 configure、make、make install。听起来不难,但一旦某个工具依赖几十个子库,比如编译 OpenSSL 需要 perl,编译 perl 又需要一堆头文件,你就陷入“装 A 要先装 B,装 B 又要先处理 C”的依赖地狱。
Homebrew 的价值在于,它把“安装某个软件”这件事抽象成一份配方,官方叫 formula。每个 formula 里写清楚了这个软件的下载地址、依赖清单、编译参数、安装目录。你执行 brew install ffmpeg,Homebrew 会自动把依赖列表里的所有包按顺序装好,最后把 ffmpeg 本身放到位。整个过程不需要你手动管理中间步骤,出问题也能通过提示快速定位。
另外一个容易忽略的好处是可卸载性。手动编译安装的软件,通常要散落在 /usr/local/bin、/usr/local/lib、/usr/local/etc 好几个目录。想卸载?你根本不知道哪些文件是它的。Homebrew 把所有东西集中放在 Cellar 目录,用一个软链接机制暴露到系统路径。卸载时执行 brew uninstall 包名,它把本体和依赖关系清理掉,不会留下乱七八糟的残留。
对于国内用户来说,Homebrew 还有一个极其重要的角色:很多命令行工具在国内下载慢、版本老、或者根本没有官方 Mac 安装包,而 Homebrew 的镜像源体系能比较统一地解决“去哪里下载、下载哪个版本、装到哪个路径”的问题。后面第 2 节我会专门讲镜像加速,这是能不能顺利使用的关键。
1.2 先记住这些高频概念,后面才不会懵
用 Homebrew 的时候,你会反复看到 formula、cask、tap、cellar、bottle 这些词。我刚开始也分不清,后来按自己的理解整理成了下面这张表:
| 术语 | 含义 | 类比 |
|---|---|---|
| formula | 命令行工具的安装配方 | 菜谱 |
| cask | GUI 应用的安装配方 | 另一个菜谱,做西餐的 |
| cellar | Homebrew 安装目录中的实际存放区 | 仓库货架 |
| keg | Cellar 里的一个具体软件版本目录 | 货架上的一个箱子 |
| bottle | 预编译的二进制包 | 半成品菜,热一下就能吃 |
| tap | 额外的软件仓库源 | 另一个菜市场 |
| brew services | 管理后台服务(如 mysql、nginx)的工具 | 进程管家 |
这里最需要区分的是 formula 和 cask。简单说,brew install git 安装的是命令行工具,走 formula;brew install --cask chrome 安装的是图形界面软件,走 cask。这个区分很多人第一次接触时容易搞混。尤其是刚从各种教程里复制命令时,发现 brew install --cask firefox 能装浏览器,而 brew install firefox 会报“找不到且不会从 cask 自动匹配”。请记住:从 Homebrew 3.0 开始,安装 GUI 应用必须显式加 --cask。
Tap 在安装第三方工具时非常常见。默认源里的软件可能不全,某个工具只在作者自己的仓库里有。这时候你就得 brew tap 作者名/仓库名,把那个仓库添加进来,之后才能安装其中的软件。这个机制会反复用到,尤其在第 4 章讲 codex 这类非默认源工具时。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 手把手安装 Homebrew:环境检查、镜像加速与首次自检
2.1 开始之前:确认系统与基础工具
在 Mac 上安装任何开发环境,第一步永远是先搞清楚自己机器的底细。Homebrew 的安装路径和系统架构强相关。
先跑一句:
bash复制uname -m
如果输出 arm64,说明是 Apple Silicon 芯片(M 系列),Homebrew 会装在 /opt/homebrew 目录。如果输出 x86_64,说明是 Intel 芯片,或者你在 Apple Silicon 上用 Rosetta 模拟 x86 环境,Homebrew 会装在 /usr/local 目录。建议所有 M 系列用户优先使用 arm64 原生的终端,不要去用 Rosetta 终端的 x86 Homebrew,否则后续装包架构混乱会很麻烦。
另外要确认你已经装了 Xcode Command Line Tools。没装时,终端里运行 git 会弹窗提示安装,也可以主动执行:
bash复制xcode-select --install
这一步是 Homebrew 能正常编译、链接软件的基础。虽然 Homebrew 本身不依赖完整 Xcode,但很多工具编译时会调用 clang、make、git 这些命令行工具,它们都在 Command Line Tools 里。
