展示HN:Homebrew 6.0.0
今天,我很自豪地宣布 Homebrew 6.0.0。自 5.1.0 以来,最显著的变化是新的 tap 信任安全机制、全新的更快、更小的默认内部 Homebrew JSON API、Linux 上的沙箱、根据我们的用户调查改进的更好默认设置、许多 brew bundle 的改进、性能提升以及对 macOS 27(Golden Gate)的初步支持。✨ 自 5.1.0 以来的亮点 🔐 Tap 信任 Homebrew 6.0.0 引入了 tap 信任。第三方 tap 可以包含在您的机器上运行的任意未沙箱的 Ruby,因此 Homebrew 现在要求在评估或运行代码之前明确信任这些 tap(以及合格的公式和 casks)。这降低了来自恶意或被破坏的 tap 的风险,同时官方的 Homebrew tap 默认被信任。有关详细信息,请参阅新的 Tap-Trust 文档。Homebrew 强制执行初始 tap 信任,因此未信任的 tap 在其代码运行之前会被标记,安装之前信任合格的 tap 项,停止自动 tap 未信任的 tap,将 tap 允许、禁止和信任列表固定到远程并在评估所有公式和 casks 时使用 tap 信任。brew tap 增加了管理 tap 信任的命令,可以通过其远程 URL 信任一个 tap,brew trust 添加了 --json=v1 标志,brew tap-info 添加了一个 trusted 字段。brew bundle 尊重 trusted: 选项,brew bundle dump 记录信任的 bundle 条目,将自定义远程 tap 标记为信任。docs.brew.sh 增加了新的页面,包括 Tap-Trust,解释 Homebrew 的新 tap 信任模型,Homebrew 在 test-bot 中信任 tap。⚡ 默认内部 JSON API 现在内部 JSON API 是默认的,推动了 Homebrew 最近为开发人员重新启用并开启的小型 API。它将所有 Homebrew 的元数据合并为一个下载,使 brew 更新更快,并减少网络交互。自 5.0.0 起它是通过 HOMEBREW_USE_INTERNAL_API 选择的;该变量现在被弃用(见下文)。🐧 Linux 沙箱 Linux Bubblewrap 沙箱将 Linux 对齐到 macOS,构建、测试和后安装阶段已经运行沙箱。对于开发人员,默认开启,Homebrew 移动了 macOS 沙箱逻辑以共享代码,改善了 Linux 沙箱行为(通过 Homebrew/homebrew-core 在 CI 中设置沙箱环境),加强了沙箱安装阶段,沙箱化的 cask 可执行钩子,允许在构建沙箱中记录日志,在托管的 Ubuntu 上安装 Bubblewrap,并为仅语法的作业跳过沙箱设置。⚙️ 更好的默认设置 根据我们的 Homebrew 用户调查,我们基于调查结果进行了许多更改。最显著的是将询问模式设为开发人员的默认模式,因此 brew install 和 brew upgrade 在做出更改之前会显示依赖关系摘要和确认提示。Homebrew 添加了询问依赖计划和 cask 支持,接受一键询问确认,并对齐询问干运行提示。Homebrew 一起获取询问升级,更早打印询问升级摘要,当为空时跳过升级询问提示,添加最终 brew upgrade 摘要并解释升级元数据获取。📦 brew bundle brew bundle 增加了许多改进,最显著的是并行公式安装,现在默认自动运行作业,以及 npm 和 krew 扩展、更广泛的清理支持,并且在 Windows 上,支持 winget。Homebrew 为 npm、cargo、go 和 uv 扩展添加了清理支持,并在清理期间询问删除。Homebrew 通过 kubectl-krew 直接运行 brew bundle krew,尊重 CARGO_HOME 和其他 cargon 对于 cargo 的设置,增加了 brew bundle add 的 --describe 标志,并在回退到 mas get 之前尝试 mas install。Homebrew 添加了 bundle 类型禁用标志,改进检查指导并检查公式链接状态。Homebrew 序列化公式锁,将非核心 DSL 制作成单个文件,从 brew bundle/remover 中删除描述注释,避免解析 brew services list 的输出。brew bundle 更安全地执行 npm 安装。🏎️ 性能 Homebrew 整体更快,启动性能调整,brew leaves 更快约 30%,升级时并行获取 bottle 标签,启动时加载 Ruby 库的工作量减少。🍎 macOS 27(Golden Gate)Homebrew 增加了对 macOS 27(Golden Gate)的初步支持。🔮 即将改变 macOS 27(Golden Gate)将取消对 Intel 的支持,因此根据我们的支持等级:到 2026 年 9 月,macOS Intel x86_64 将移至 三级,无 CI 支持,并且不再为 macOS Intel 构建新包(二进制包);到 2027 年 9 月,macOS Intel x86_64 将完全不受支持,所有相关代码将被删除。从 4.6.0 开始的 master 到 main 迁移仍在继续:越来越多的存储库不再更新 master,GitHub Actions 警告 @master 用户迁移到 @main,并且 sync-default-branches 工作流从 Homebrew/homebrew-cask 和 Homebrew/homebrew-core 中删除。未通过 macOS Gatekeeper 检查的 casks,自 5.0.0 被弃用,仍按计划于 2026 年 9 月禁用。🔒 安全 🚨 安全建议 Homebrew 发布了三条安全建议:POST 下载策略绕过了文档中描述的 HTTPS-to-HT
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡