Homebrew安装旧版本软件的核心是获取对应版本的Formula文件:优先使用自带版本化公式(如node@16),其次查formulae.brew.sh回溯GitHub历史提交,或通过可信第三方Tap安装。
macos 上用 homebrew 安装历史旧版本软件,核心是拿到对应版本的安装配方(formula),而不是直接 brew install xxx——因为 homebrew 默认只保留最新版或少数长期支持主版本。能否装、怎么装,取决于目标软件是否还保留在官方仓库中,或是否需要手动回溯旧代码。
看软件是否自带多版本公式(最简单)
不少常用工具(如 Python、Node.js、OpenJDK、Ruby)在 Homebrew 中有明确的版本化公式,命名规则为 软件名@主版本号,比如:
-
python@3.9、python@3.10(截至 2026 年仍可装) -
node@16、node@18(对应各主版本最新 LTS 小版本) -
openjdk@17、openjdk@21
查可用版本:运行 brew search 软件名,例如 brew search python;确认后直接安装:brew install python@3.9。这类安装会进 /opt/homebrew/Cellar/(Apple Silicon)或 /usr/local/Cellar/(Intel),不会覆盖系统默认版本。
查官网 formula 历史提交(通用但需动手)
如果目标版本不在 brew search 结果里(比如想装 gdb 8.2.1 或 ffmpeg 4.2),就得找旧版 Formula 文件:
- 打开 formulae.brew.sh,搜索软件名,点进对应页面
- 点击右上角 “View on GitHub”,跳转到该 Formula 的
.rb文件 - 点 “History”,浏览 Git 提交记录,找包含目标版本号(如
version "8.2.1")的那次提交 - 复制该次提交的 SHA 值(如
ada036ff),然后本地执行:
git clone https://github.com/Homebrew/homebrew-core.git
cd homebrew-core
git checkout ada036ff
brew install ./Formula/软件名.rb
用第三方 Tap 或社区维护的老版本源(省事但需信任)
有些项目由社区单独维护旧版支持,比如:
-
homebrew-versions(已归档,不推荐新用) - 部分开发者自建 Tap,如
shivammathur/php提供多个 PHP 小版本 - 可通过
brew tap search 关键词查找,例如brew tap search php
找到后先 brew tap add 用户名/仓库名,再按其文档方式安装。注意只添加可信来源,避免安全风险。
补充说明:Cask 类 GUI 应用怎么回退?
Homebrew Cask 本身不支持直接安装历史版 App(如 Chrome 112),但有替代路径:
- 用
brew search --cask 软件名看是否有带版本号的变体(极少见) - 更可靠的是去 homebrew-cask-versions 查,它专收旧版 GUI 软件,如
google-chrome-canary、firefox-esr - 或直接从开发者官网、Time Machine 备份、Apple 开发者中心下载旧版 .pkg/.dmg 手动安装


















