macOS Sonoma(14.x)系统上运行 `brew update` 或安装软件时,Homebrew 报错:`unknown or unsupported macOS version: :dunno`。该问题通常源于 Homebrew 核心仓库(homebrew-core)的 Ruby 代码中未识别 Sonoma 的版本标识符------旧版 Homebrew 将 `MacOS.version` 映射为符号(如 `:ventura`, `:monterey`),而 Sonoma 初始未被纳入该枚举,导致返回占位符 `:dunno`,进而触发版本校验失败。常见诱因包括:Homebrew 未升级至 v4.1.0+(2023年9月起正式支持 Sonoma)、`HOMEBREW_DEVELOPER=1` 环境变量误设、或通过非官方镜像/旧 fork 安装了未同步的 tap。此错误会阻断所有 brew 命令执行,且不伴随明显网络或权限异常,易被误判为系统兼容性问题。
Last login: Mon Mar 9 11:07:00 on console
***@173-16-47-135 ~ % brew install --cask mounty
Running `brew update --auto-update`...
/usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:41:in `initialize': unknown or unsupported macOS version: "26.3" (MacOSVersionError)
from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:37:in `new'
from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:37:in `full_version'
from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:27:in `version'
from /usr/local/Homebrew/Library/Homebrew/os.rb:54:in `<module:OS>'
from /usr/local/Homebrew/Library/Homebrew/os.rb:7:in `<top (required)>'
from /usr/local/Homebrew/Library/Homebrew/global.rb:76:in `require'
from /usr/local/Homebrew/Library/Homebrew/global.rb:76:in `<top (required)>'
from /usr/local/Homebrew/Library/Homebrew/brew.rb:21:in `require_relative'
from /usr/local/Homebrew/Library/Homebrew/brew.rb:21:in `<main>'
解决方案:
brew update-reset
如果更新时没有反应,一直卡着,先尝试更换为国内镜像源(尤其适用于中国大陆用户)
# 替换 brew 本体源
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 替换 homebrew-core 源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 替换 homebrew-cask 源(常被忽略但很重要)
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 设置 bottles 镜像(加速二进制包下载)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
-
再执行重置命令:
brew update-reset
-
验证是否成功:
brew --version
brew doctor