macos 上用 homebrew cask 安装指定版本应用的关键是查找并使用带版本标识的精确 cask 名称(如 temurin@17),而非通过 --version 参数;需先启用 homebrew/cask-versions tap,再用 brew search --cask 搜索确认名称,安装后 gui 应用可直接从应用程序目录选择,命令行工具需配合 jenv 等手动切换。
macos 上用 homebrew cask 安装指定版本的应用,关键不在于“选版本号”,而在于**找对带版本标识的 cask 名称**——cask 本身不支持 brew install --cask java --version=17 这类语法,而是靠不同名称代表不同版本,安装后共存、手动切换。
确认目标软件是否提供多版本 cask
不是所有应用都有老版本或变体。只有被收录进特定 tap(如 homebrew/cask-versions)的软件才支持。常见有:
- JDK:temurin@11、temurin@17、temurin@21(推荐,尤其 Sonoma + M 系列芯片)
- 浏览器预览版:google-chrome-canary、firefox-developer-edition、microsoft-edge-dev
- 编辑器变体:visualstudiocode-insiders、jetbrains-toolbox
- 开发工具历史版:docker--edge、postman-beta(需查具体 tap 收录情况)
启用多版本仓库(必须步骤)
默认 cask 仓库只含最新稳定版。要装指定版本,先加载对应 tap:
- 运行
brew tap homebrew/cask-versions(最常用,覆盖 JDK、Chrome、Firefox 等) - 需要字体?加
brew tap homebrew/cask-fonts - 检查是否已启用:
brew tap | grep versions,有输出即成功
搜索并安装精确名称
名称必须完全匹配,大小写、连字符、@符号都不能错:
- 查 JDK:
brew search --cask temurin→ 显示temurin@11、temurin@17、temurin@21 - 查 Chrome:
brew search --cask chrome→ 显示google-chrome-canary、google-chrome-dev - 安装时严格按名来:
brew install --cask temurin@17,不是openjdk17或jdk-17 - 同一台机器可同时装
temurin@17和temurin@21,它们各自生成独立 .app,互不干扰
安装后如何使用指定版本
GUI 应用和命令行工具处理方式不同:
- 图形界面应用:直接在“启动台”或“访达 → 应用程序”里点开不同名字的应用(例如 Visual Studio Code 和 Visual Studio Code - Insiders)
-
命令行工具(如 java):Cask 安装的 JDK 不会自动设置
JAVA_HOME。需手动配置或用jenv管理:brew install jenv→jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home→jenv global 17











