The popular Mac tool Homebrew has long been used by developers and others for package management on macOS, but as we complained in our first M1 Mac review, it didn’t support Apple Silicon when Apple’s new Macs first launched late last year . Now, with the release of Homebrew 3.0.0, that’s no longer the case: Homebrew now supports Apple Silicon natively, albeit not with every package.
The volunteer Homebrew team made the announcement on the Homebrew blog alongside today’s release. While native support isn’t yet comprehensive, it bridges the gap significantly, and users can still use Terminal through Rosetta 2 to do what they can’t yet while running natively on Apple Silicon. The Homebrew blog post says “we welcome your help” in providing bottles for all future packs.
Here’s the full bullet point on Apple Silicon in the Homebrew 3.0.0 release notes:
Apple Silicon is now officially supported for installations in /opt/homebrew. formula pages on formulae.brew.sh indicate for which platforms bottles (binary packages) are provided and thus whether they are supported by Homebrew. Homebrew doesn’t (yet) offer bottles for all the packages on Apple Silicon that we do on Intel x86_64, but we welcome your help with that. Rosetta 2 on Apple Silicon still supports Intel x86_64 in /usr/local.
Aside from the inability to run Windows natively, the lack of Homebrew was one of the few issues we singled out the Apple Silicon Macs for when we reviewed them, and some of our editors have cited this as the main reason they got the switch to Apple Silicon postponed. Some other users probably share the sentiment, although of course most macOS users never use these kinds of tools.
In celebrating the update, the Homebrew team thanked MacStadium and Apple “in particular”. Specifically, the blog entry notes that Apple provided the team with Apple Silicon hardware to do the job, and thanks “Apple’s Cassidy for helping us with this migration in so many ways.”
Other major changes since the previous Homebrew release, 2.7.0, are listed in the blog post as follows:
- brew bottle and bottle do blocks use a new syntax format (one :cellar per platform). brew style –fix will automatically correct formulas to this new format. This allows more bottles to be movable.
- The new HOMEBREW_BOOTSNAP environment variable allows the use of the Bootsnap gem to speed up repeated brew calls. This does not (yet) work on Apple Silicon or with Homebrew’s portable Ruby.
- Several methods have been deprecated, disabled and removed
- Bash, fish, and zsh completions are automatically generated from the CLI::Parser DSL. This way they stay up to date.
- brew update better handle upstream branch renaming (e.g. from master to main)
- brew completions is a new command to opt in to completions provided by third party taps
Frame image by Samuel Axon