今天,我想宣布 Homebrew 1.2.0。自 1.1.0 以来最重大的变化是,Homebrew GitHub 组织 中的大多数 Homebrew 分支(软件包存储库)已被弃用,而当前可构建的软件已移至 Homebrew/homebrew-core。这将提高所有软件的质量和可用性。
此外,由于 Homebrew/homebrew-versions 已移至 Homebrew/homebrew-core,因此 Homebrew 为不同版本提供了更好的官方支持。您可以在 专用版本文档 中阅读更多相关内容。请注意,我们的目标不是支持所有软件的所有版本,而是提供一些版本和工具,以便您可以在 自己的分支(软件包存储库) 中轻松维护更多版本。
自 1.1.0 以来,已弃用以下内容
env :std
和env :userpaths
在公式中OS.mac?
和OS.linux?
在公式中fails_with :llvm
在公式中32-bit
选项在公式中go get
在公式中的用法- 需要使用非默认选项构建的公式依赖项
- 需要补丁的新公式
- 语言模块要求(例如
depends_on "pygments.rb" => :ruby
) - 通用 选项 和 公式构建
brew tap
已弃用的官方分支brew cask update
命令brew linkapps
和brew unlinkapps
命令- 在
ENV.
和 其他地方 上的各种内部 API
虽然这些弃用内容的所有功能都将在可预见的未来在 Homebrew/brew 中为第三方使用提供支持,但 Homebrew/homebrew-core 将从公式中移除对这些 API 的使用,以改善用户体验。
自 1.1.0 以来,提供了一些新命令
自 1.1.0 以来,我想重点介绍的其他一些更改如下
brew create
使用 GitHub 元数据在从 GitHub 存档创建时填充字段brew audit
提供--only
和--except
标志,以允许有选择地运行brew audit
方法brew search
使用单个 GitHub API 调用来搜索所有 Homebrew 和 Caskroom 分支brew install
为公式别名(例如版本别名)在opt
中创建符号链接brew update
将符号链接分支提供的 shell 补全brew tests
运行所有 cask 测试(替换brew cask-tests
) 并且 所有测试使用 RSpec 而不是 MiniTest- 添加了用于处理私有 GitHub 仓库的新下载策略
- 我们存储(并向匿名分析报告)一个软件包是作为依赖项安装还是按需安装。这作为
brew info --json=v1
的一部分返回。这有助于区分基于用户需求和基于大量依赖项的热门已安装软件包。brew bundle dump
和brew bundle cleanup
也使用它来更明智地处理依赖项。 - 已删除 Xcode 预发布警告
brew reinstall
、upgrade
和install
始终输出已使用的选项brew tap-new
使用我们最新的 Travis CI 推荐配置,为所有公式分支提供零配置 CIbrew uninstall
现在拒绝卸载软件包,如果依赖它的其他软件包仍已安装- RuboCop 用于 公式
desc
审核 和 检查公式中方法的顺序,而不是要求运行brew audit
。这还允许在任何具有 RuboCop 集成的编辑器中自动运行这些检查。 - 设置
HOMEBREW_ENV_FILTERING
将从brew
中过滤掉所有自定义用户环境变量。最终我们希望默认启用此功能。 - 环境中的敏感令牌在
brew install
和brew test
中对不受信任的第三方代码隐藏 brew services
使用新的 macOS API 提供更好的错误报告
最后
- 新的文档网站位于 docs.brew.sh
- 此网站上提供了安装、按需安装和构建错误事件的转储
- Homebrew 的邮件列表已被弃用,取而代之的是我们的 Discourse 论坛
- Homebrew 通过 Patreon 接受捐赠。如果您负担得起,请考虑捐赠。
- Homebrew 使用 HackerOne 进行安全漏洞披露
- Homebrew 的 CI 服务器现在由 MacStadium 和 DigitalOcean 提供。感谢 Positive Internet 多年来提供的友谊、令人难以置信的客户支持和超级可靠的托管。
感谢我们所有勤奋的维护者、贡献者、赞助商和支持者将我们带到今天。享受使用 Homebrew!