Homebrew安装指定版本的Formula
Mac 上的 Nmap 是通过 Homebrew 安装的。前几天遇到了一个 Nmap 新版本才有的 bug,需要降回老版本。于是,研究了 Homebrew 安装指定版本的 Formula 的方法,并记录如下。
方法一(仅限部分 Formulae)
有些 Formulae 本身就包含了不同版本,例如 Python 和 PostgreSQL,从 Homebrew Formulae 网页上可以看到 “Other versions:” 的信息。对于这种类型的 Formulae,只需要运行以下命令:
1 |
|
方法二(不推荐)
然而,Nmap 不属于上述类型。这时候,可以运行以下命令:
1 |
|
这个方法的缺点是:
- 需要下载整个
homebrew/core
Tap - 需要创建一个本地 Tap
- 无法通过
brew outdated
获取升级提醒 - 后续升级 Formula 需要卸载后重新安装
因此,推荐使用下一个方法。
方法三(推荐)
- 前往
Homebrew/homebrew-core
的仓库 - 找到想要的 Formula 的
.rb
文件 - 点击右上角的 “History” 查看文件的历史
- 找到想要的版本,并记录下对应的 Git commit SHA
- 运行以下命令:
1
2
3
4
5git clone git@github.com:Homebrew/homebrew-core.git
cd homebrew-core/
git checkout <git-commit-sha>
brew install ./Formula/<prefix>/<formula>.rb
brew pin <formula>
这个方法依然需要下载 Homebrew/homebrew-core
仓库,但是后续想要升级时,会方便不少,只需要运行:
1 |
|
就可以更新 Formula 了。
参考资料
Homebrew安装指定版本的Formula
https://tomzhu.site/2025/08/03/Homebrew安装指定版本的Formula/