Homebrew Formula 多版本管理文档
目录
🍺 Homebrew Formula 多版本管理文档
1️⃣ 背景
Homebrew 默认只提供最新稳定版本的 Formula。
如果需要安装旧版本或特定版本(例如 openssl@3
的 3.5.2
),可以使用 brew extract
提取历史版本到自建 tap。
2️⃣ 通用操作流程
(1)临时启用 homebrew/core
brew tap homebrew/core --force
📌 说明:Homebrew 3.0 之后默认不再自动 tap homebrew/core
,只有在 extract
时才需要。
(2)提取指定版本 Formula
brew extract --version=<版本号> <formula> <tap>
示例:
brew extract --version=3.5.2 openssl@3 my/tap
brew extract --version=3.11.6 python my/tap
(3)移除临时 tap
brew untap homebrew/core
(4)安装指定版本
brew install my/tap/<formula>@<版本号>
示例:
brew install my/tap/openssl@[email protected]
brew install my/tap/[email protected]
3️⃣ 通用函数封装
在 ~/.zshrc
或 ~/.bashrc
添加:
brew_extract() {
local version=$1
local formula=$2
local tap=${3:-my/tap}
if [ -z "$version" ] || [ -z "$formula" ]; then
echo "用法: brew_extract <版本号> <formula> [tap]"
return 1
fi
echo "==> Tapping homebrew/core..."
brew tap homebrew/core --force
echo "==> Extracting $formula version $version..."
brew extract --version=$version $formula $tap
echo "==> Untapping homebrew/core..."
brew untap homebrew/core
echo "✅ 完成!现在可以执行: brew install $tap/$formula@$version"
}
4️⃣ 使用示例
# 提取并安装 openssl@3 的 3.5.2
brew_extract 3.5.2 openssl@3
brew install my/tap/openssl@[email protected]
# 提取并安装 python 3.11.6
brew_extract 3.11.6 python
brew install my/tap/[email protected]