Mac上Homebrew下载慢、超时、卡在Updating Homebrew,本质是访问GitHub官方源受网络限制,必须将brew.git、homebrew-core.git、homebrew-cask.git和bottles四个地址全部指向国内镜像站(如清华源或中科大源)才能真正提速,实测安装htop从12分钟缩短至23秒。

Mac上Homebrew下载慢、超时、卡在Updating Homebrew,本质是访问GitHub官方源受网络限制,必须把brew.git、homebrew-core.git、homebrew-cask.git和bottles预编译包四个地址全部指向国内镜像站才能真正提速,清华源和中科大源目前同步稳定、延迟低,实测安装htop等工具从12分钟缩短至23秒。
确认当前环境与基础检查
打开终端,先执行brew --version确认已安装Homebrew;若提示command not found,请先安装再操作换源。接着运行brew doctor,确保无严重警告——如果出现Warning: The filesystem does not support case-sensitive filenames之类提示,暂可忽略,不影响换源操作。
执行which brew查看路径:Apple Silicon(M系列)设备通常为/opt/homebrew/bin/brew,Intel设备为/usr/local/bin/brew,后续命令中的$(brew --repo)会自动适配,无需手动判断。
一键式交互安装(推荐新手/未装过brew用户)
这一步直接跳过所有手动配置,脚本自动识别芯片架构、选择镜像、写入环境变量、补全cask仓库,全程只需复制粘贴+回车+输密码。
在终端中粘贴并执行以下命令:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
脚本启动后,会出现编号菜单:1-清华大学、2-中科大、3-阿里云。输入1选清华源,或输入2选中科大源,回车确认。
提示输入密码时,键入当前用户管理员密码(终端不显示字符,输完直接回车)。脚本将自动完成Xcode CLT检测、Git初始化、brew本体克隆、core/cask仓库配置及HOMEBREW_BOTTLE_DOMAIN写入~/.zshrc。
【关键提醒】若脚本中途报错“Permission denied (publickey)”或卡在Cloning homebrew-core,说明网络已断开GitHub连接,此时务必选中科大源(USTC),它对CDN兼容性更强,成功率更高。
手动分步换源(适合已装brew且想精确控制的用户)
此方式适用于你已安装Homebrew但下载极慢,需逐项替换四个核心源。操作前建议先备份原配置:
git -C "$(brew --repo)" remote -v > ~/brew-origin-backup.txt
第一步:更换brew本体仓库源
cd "$(brew --repo)" && git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
第二步:更换homebrew-core配方库源
cd "$(brew --repo homebrew/core)" && git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
第三步:更换homebrew-cask图形应用库源(如VSCode、Chrome)
cd "$(brew --repo homebrew/cask)" && git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
第四步:设置bottles预编译包下载地址
执行echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc,然后运行source ~/.zshrc立即生效。如果你用的是bash终端,请把~/.zshrc换成~/.bash_profile。
中科大源专用补全操作(当清华源失败时立即启用)
方法一:仅替换bottles域(最快见效)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc && source ~/.zshrc
方法二:三源同切(彻底切换)
依次执行以下三条命令:
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
执行完任一方法后,立即运行brew update,首次会拉取大量更新,耐心等待。若仍报错Could not resolve host,说明DNS污染未清除,临时执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder刷新本地DNS缓存。
验证是否生效
运行brew config | grep -E 'HOMEBREW_BOTTLE_DOMAIN|Core tap ORIGIN',输出中应包含HOMEBREW_BOTTLE_DOMAIN: https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles或https://mirrors.ustc.edu.cn/homebrew-bottles,且Core tap ORIGIN指向对应镜像域名。
再执行brew install htop测试真实下载速度——如果进度条流畅推进且总耗时低于40秒,说明换源成功。











