手头有台老款 MacBook Air,想跑一下 OpenClaw(Clawbot),结果发现不少技能包都装不上。排查报错信息,提示是 Homebrew 不再支持当前的 macOS 版本了。
官方警告显示:"Warning: You are using macOS 12. We (and Apple) do not provide support for this old version"。这是因为 Homebrew 的基础构建资源有限,目前只针对最新的三个 macOS 版本进行打包。对于无法升级系统的老机型,唯一的办法就是冻结 Homebrew 的版本,让它停留在当前系统还能用的那个节点。
下面以 macOS 12 为例,演示具体操作。首先去 GitHub 仓库找到支持该系统的 Git 提交记录。从某个分支开始,macOS 12 Monterey 的支持就被移除了。我们需要回退到上一个支持的提交点,比如 da66cc3。
接着执行以下命令,分别锁定 homebrew-core 和 homebrew 主仓库的版本:
# homebrew/core
cd $(brew --repository)/Library/Taps/homebrew/homebrew-core/
git checkout -b macOS-monterey-freeze da66cc3
# homebrew
cd $(brew --repository)
git checkout -b macOS-monterey-freeze 9042eb9
最后一步,配置环境变量,防止 Homebrew 尝试自动更新导致版本再次变化。需要在 Shell 配置文件里添加导出语句(根据你的 shell 类型选择 .bash_profile、profile 或 zshrc):
export HOMEBREW_NO_AUTO_UPDATE=true
export HOMEBREW_NO_INSTALL_FROM_API=1
这样设置后,即使系统更新,包管理器也会保持在你指定的稳定版本,不会轻易报错。

