Homebrew Formula 多版本管理文档

🍺 Homebrew Formula 多版本管理文档

Homebrew 默认只提供最新稳定版本的 Formula。 如果需要安装旧版本或特定版本(例如 openssl@33.5.2),可以使用 brew extract 提取历史版本到自建 tap。


bash

brew tap homebrew/core --force

📌 说明:Homebrew 3.0 之后默认不再自动 tap homebrew/core,只有在 extract 时才需要。


bash

brew extract --version=<版本号> <formula> <tap>

示例:

bash

brew extract --version=3.5.2 openssl@3 my/tap
brew extract --version=3.11.6 python my/tap

bash

brew untap homebrew/core

bash

brew install my/tap/<formula>@<版本号>

示例:

bash

brew install my/tap/openssl@[email protected]
brew install my/tap/[email protected]

~/.zshrc~/.bashrc 添加:

bash

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"
}

bash

# 提取并安装 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]