根本原因是Homebrew默认从GitHub和ghcr.io等境外地址拉取数据,国内网络访问不稳定,导致brew update卡在git fetch、API请求或bottle下载环节;解决核心是分三步覆盖安装脚本、Git仓库、二进制包源,并适配Intel/M芯片架构。
根本原因是 homebrew 默认从 github 和 ghcr.io 等境外地址拉取数据,国内网络访问不稳定,导致 brew update 卡在 git fetch、api 请求或 bottle 下载环节。解决核心是分三步覆盖全部网络依赖:安装脚本、git 仓库、二进制包源,并确保芯片架构适配。
确认并切换三大 Git 仓库源
Homebrew 运行依赖三个主仓库,必须全部换源才能避免部分超时:
-
主程序仓库(brew):执行
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git -
软件公式库(homebrew-core):执行
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git -
Cask 应用库(homebrew-cask):执行
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
执行完后运行 brew update,若能在几秒内完成,说明 Git 层同步已生效。
强制 bottle 和 API 使用镜像加速
即使仓库换源成功,安装软件时仍可能因下载预编译包(bottle)或调用 formulae.brew.sh API 超时失败。需设置环境变量指向镜像:
- 运行
export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles - 将该行追加到 shell 配置文件:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc && source ~/.zshrc - 如使用清华源,可改用
https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles
该变量对绝大多数 brew install 和 brew install --cask 均有效,能跳过 ghcr.io 和 raw.githubusercontent.com。
绕过安装脚本卡死(首次安装或重装场景)
如果连 install.sh 都无法下载,说明卡在第一步——访问 raw.githubusercontent.com。此时不能等自动安装,应手动操作:
- 直接下载安装脚本:用浏览器打开 https://www.php.cn/link/2b868f86f1031688cb3d742857ad8c24,保存为本地文件
- 终端中执行:
/bin/bash install.sh - 安装完成后,立即按上文方法换源,再
brew update
注意:Apple Silicon(M系列)默认装在 /opt/homebrew,Intel Mac 在 /usr/local,命令路径和环境变量要匹配芯片类型。
个别 Cask 安装仍失败?临时替换 URL
少数 cask(如微信、QQ、钉钉)的下载地址硬编码为官网域名,不受 HOMEBREW_BOTTLE_DOMAIN 控制。可临时修改其定义文件:
- 查定位:
brew cask info wechat或brew search wechat - 编辑对应 Ruby 文件:
brew cask edit wechat - 找到
url行,将其改为国内可信镜像链接(如腾讯软件中心或清华镜像站提供的直链) - 保存后执行
brew install --cask wechat
修改仅影响本次安装,不影响其他软件,也无需长期维护。


















