Homebrew镜像源通过每小时同步GitHub上的homebrew-core仓库来更新formula,用户只需正确配置HOMEBREW_CORE_GIT_REMOTE环境变量、执行brew update即可自动拉取最新配方文件。
homebrew 镜像源本身不负责“同步公式”,而是定期同步官方仓库中的 formula(配方文件)和 bottle(预编译包)。你看到的 brew install xxx 能装上软件,依赖的是 homebrew-core 仓库里定义的 formula 文件——这些文件描述了怎么下载、编译、安装某个软件。镜像站做的,就是把 github 上 homebrew/homebrew-core 这个仓库完整、定时地复制一份到国内服务器。
所以“同步公式”其实是镜像站后台自动完成的,用户只需正确配置镜像地址,让 brew 去访问国内副本即可。关键在三点:源地址对、本地配置生效、更新动作触发。
镜像源如何保证 formula 是最新的
中科大、清华、阿里云等主流镜像站都会:
- 每小时左右拉取一次
Homebrew/homebrew-core的最新 commit - 同步
homebrew-cask和homebrew-bottles(含预编译二进制) - 保留完整的 Git 历史,
brew search、brew info等命令结果与官方一致 - 同步延迟通常在 1 小时内,极少影响日常使用
✅ 举例:如果今天凌晨 2 点官方合并了一个 Python 3.13 的新 formula,中科大镜像大概在上午 3 点前就会同步完成。你执行
brew update后就能搜到或装上它。
你的 Mac 怎么“用上”这些同步好的 formula
不是手动下载或复制 formula,而是通过以下三步让 brew 主动从镜像站拉取更新:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
-
确认镜像环境变量已写入
~/.zshrcexport HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git" export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git" export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
⚠️ 注意:
HOMEBREW_CORE_GIT_REMOTE控制的就是 formula 仓库的 Git 地址,改对了,brew update才会去镜像站拉 formula。 -
执行
brew update触发同步
这条命令实际做了两件事:-
git fetch当前brew和homebrew-core仓库,对比远程是否有新 commit - 把新拉下来的 formula 文件加载进本地索引,后续
brew search或brew install才能识别
-
-
验证是否真的用了镜像源
运行下面命令,输出应为镜像地址(不是 github.com):echo $HOMEBREW_CORE_GIT_REMOTE # 应显示 https://mirrors.ustc.edu.cn/homebrew-core.git brew --repo homebrew/core # 应显示 /opt/homebrew/Homebrew/Library/Taps/homebrew/homebrew-core(路径正常),且 remote 为镜像地址
如果 brew update 仍走 GitHub,常见原因
-
~/.zshrc修改后没运行source ~/.zshrc,新开终端才自动加载 - 写错了变量名,比如漏了下划线(
HOMEBREW_COREGIT_REMOTE❌) -
brew命令本身不可用(which brew无输出),说明 PATH 或安装路径未配置好 - 有其他 shell 配置文件(如
~/.zprofile)覆盖了~/.zshrc中的设置
不需要你手动同步 formula,也不用去镜像站网页找文件。只要 brew update 成功跑完,本地 formula 就和镜像站当前快照完全一致。

















