- Published on
Homebrew 6.0.0 正式发布
- Authors
- Name
- mikemcquaid
- brew.sh

安全与信任
Homebrew 6.0.0 引入了 tap 信任机制(Tap Trust),这是本次更新中最关键的安全改进。第三方 tap 可能包含任意非沙盒 Ruby 代码,因此在默认情况下,所有非官方 tap 都需用户显式信任后才能加载和执行其代码。官方 Homebrew 维护的 tap 默认受信任。新增的 brew tap 命令和相关子命令用于管理 tap 的信任状态,brew bundle 也加入了 trusted 选项以标记 Bundle 中的信任项。
此外,该版本修复了三个安全漏洞:
- POST 下载策略绕过 HTTPS→HTTP 重定向保护(GHSA-7699-qf8c-q47m)。
- macOS 安装包通过 Git 钩子实现 root 代码执行(GHSA-6689-q779-c33m)。
- macOS 安装包信任用户控制的 plist,可导致本地用户获得 Homebrew 所有权(GHSA-59v8-x8q4-px5c)。
其他安全改进包括过滤敏感环境变量、将 HOMEBREW_* 环境变量延迟到下载时使用、以及要求 cask 安装时提供校验和(通过 HOMEBREW_CASK_OPTS_REQUIRE_SHA 变量)。
性能与 API
默认启用内部 JSON API,这是对官方 API 的一项重大简化。它将所有元数据合并为单个下载包,使得 brew update 更快且网络请求更少。此前版本中通过 HOMEBREW_USE_INTERNAL_API 变量可选开启,现在该变量已被弃用。
性能方面全面提升:启动速度得到优化,brew leaves 命令提速约 30%,升级过程并行化 bottle tab 的获取,启动时加载的 Ruby 库数量减少。这些改进使得日常操作更加流畅。
Linux 沙盒
Homebrew 6.0.0 使用 Bubblewrap 在 Linux 上实现了沙盒支持,与 macOS 对齐。默认对开发者启用,在编译、测试和 postinstall 阶段均运行在沙盒环境中。Homebrew 还将 macOS 的沙盒逻辑迁移至共享代码,提升了 Linux 沙盒的行为一致性。在 Homebrew/homebrew-core 的 CI 中设置了沙盒环境变量,并加固了沙盒中的安装阶段。
用户默认行为优化
基于 Hombrew 用户调查结果,团队对默认行为进行了多项调整。最显著的是将 ask 模式设为开发者的默认行为:brew install 和 brew upgrade 现在会显示依赖摘要并要求用户确认后才进行更改。这减少了意外安装或升级的风险。
brew bundle 获得了大量改进:
- 默认并行安装公式,自动利用多核性能。
- 新增对 npm、krew 扩展的支持。
- 清理功能涵盖更多包管理器(npm、cargo、go、uv)。
- Windows 上支持 winget。
- 新增
--describe标志用于brew bundle add。 - 在清理前提示用户确认。
- 更安全的 npm install 行为。
macOS 27 支持与 Intel Mac 过渡
Homebrew 6.0.0 加入了初步的 macOS 27(Golden Gate)支持。值得注意的是,macOS 27 将取消 Intel 支持,因此 Homebrew 也公布了 Intel Mac 的支持时间表:2026 年 9 月,macOS Intel x86_64 降至第三层(无 CI 支持,不再构建预编译二进制包);2027 年 9 月,macOS Intel 将被完全弃用,相关代码全部删除。这一过渡提醒用户尽早规划向 Apple Silicon 的迁移。
其他重要特性
- Cask 增强:支持 pin casks(固定版本),
brew missing现在支持 cask;Linux 上支持 AppImage,并实现了 Linux freedesktop 回收站;cask 升级时共享下载队列,升级完成后可重新打开应用。 - 系统支持:识别 M5 和 M5 Pro/Max CPU,WSL 增加分析标签,正确识别等价 tap remote 形式。
- 新命令:
brew exec(类似 npx,用于运行公式环境下的命令)、brew as-console-user(用于 MDM/root 环境以正确用户身份运行)、brew update <formula>作为brew upgrade的别名。 - 安装步骤框架:将常见的 postinstall、preflight 等行为以有序的、仅包含文字的 DSL 形式暴露,通过 JSON API 提供。对于仅执行简单文件操作的公式和 cask,不再需要下载和执行完整的 Ruby 文件。Homebrew/core 和 Homebrew/cask 已经采用这一新 DSL。
- 弃用项:
HOMEBREW_BUNDLE_NO_SECRETS和HOMEBREW_USE_INTERNAL_API等已弃用,SBOM 支持改为 opt-in(通过HOMEBREW_SBOM变量)。
总结
Homebrew 6.0.0 在安全性、性能、可用性三方面均实现了显著进步,同时为未来 macOS 版本的过渡奠定了基础。tap 信任机制和 Linux 沙盒提升了生态系统的整体安全水平;内部 JSON API 和多项性能优化让日常操作更快捷;基于用户调查的行为调整使默认设置更加合理。这是 Homebrew 发展中的一个重要里程碑。
原标题:Show HN: Homebrew 6.0.0。 HN 原始发布时间:2026年6月11日星期四。当前记录为 1038 分、244 条评论。