很多人遇到的“brew 很慢”,本质不是同一个问题:有的是 Git 拉取慢(更新仓库慢),有的是 Bottle(二进制预编译包)下载慢,还有的是 DNS/代理/证书导致的偶发失败。先把慢点拆开,你才能对症处理。
本文以“合规、可复现、可回滚”为原则:只做镜像与下载路径的优化,不涉及任何破解、绕过付费或入侵内容。
先在终端检查 Homebrew 路径与环境:
brew --version
brew config
在 Apple Silicon(M1/M2/M3)上,默认前缀通常是 /opt/homebrew;Intel Mac 常见是 /usr/local。如果你装过两套 Brew,后续速度与报错会非常“玄学”,建议统一到一套。
用两条命令快速判断:
brew update
brew install wget
如果 brew update 卡住,多半是仓库拉取(Git)或网络;如果安装时一直卡在下载阶段,通常是 Bottle 下载链路、DNS 或代理配置问题。
Homebrew 的核心由两部分组成:仓库(formula/cask)与下载(Bottle)。加速一般也是分别处理:
1)仓库:通过更快的 Git 访问路径来提升 brew update;
2)下载:通过更近的 CDN/镜像来提升 Bottle 下载。
不同网络环境差异极大。我的建议是:先只改“下载”部分(风险更低),再视情况处理仓库。
你可以用环境变量把下载源指向更稳定/更快的镜像(按你实际网络选择)。例如(示意写法,建议写入 shell 配置后再开新终端验证):
export HOMEBREW_BOTTLE_DOMAIN="https://your.mirror.example"
改动后建议重新执行一次安装,观察下载是否明显改善;如果变差,直接删除该环境变量即可回滚。
注意:本文不绑定某个特定镜像站点,原因是镜像可用性会变化;你应选择你所在地可长期访问的正规镜像服务。
1)权限/目录问题:前缀目录不可写,或历史残留导致冲突。可先跑诊断:
brew doctor
2)网络/DNS 问题:同一条命令有时成功有时失败,通常是解析或链路抖动。可以用系统 DNS/代理设置做统一管理,避免“终端有代理但系统无代理”的割裂。
3)证书/HTTPS:如果提示证书链错误,先确认系统时间正确、网络未被中间人替换证书(公司内网场景尤其常见)。
4)双 Homebrew:终端里 which brew 与你以为的路径不一致。建议检查:
which brew
echo $PATH
定期做一次轻量维护即可:
brew update
brew upgrade
brew cleanup
如果你装了大量 cask(图形应用),升级前可以先浏览变更,避免“工作机突然大升级”带来不确定性。
Homebrew 官网:https://brew.sh/
Homebrew 官方文档(含常见问题):https://docs.brew.sh/