Apple Silicon —
There aren’t bottles for every package yet, but the work is in progress.
Samuel Axon
–
Popular Mac tool Homebrew has long been used by developers and others for package management on macOS, but as we lamented 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 the native support is not yet comprehensive, it bridges the gap significantly, and users can still run Terminal via 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 packages moving forward.
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. formulae.brew.sh formula pages indicate for which platforms bottles (binary packages) are provided and therefore whether they are supported by Homebrew. Homebrew doesn’t (yet) provide bottles for all packages on Apple Silicon that we do on Intel x86_64 but we welcome your help in doing so. Rosetta 2 on Apple Silicon still provides support for Intel x86_64 in /usr/local.
Aside from the inability to natively run Windows, the lack of Homebrew was one of the small number of problems we dinged the Apple Silicon Macs for when we reviewed them, and some of our editorial staff have named this as the number one reason they’ve been holding off on moving to Apple Silicon. Some other users likely share the sentiment, though most macOS users never use tools like this, of course.
In celebrating the update, the Homebrew team gave “particular thanks” to MacStadium and to Apple. Specifically, the blog post notes that Apple provided the team with Apple Silicon hardware to do the work, and thanks “Cassidy from Apple for helping us in many ways with this migration.”
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 autocorrect formulae to this new format. This will allow more bottles to be relocatable.
- The new HOMEBREW_BOOTSNAP environment variable allows the use of the Bootsnap gem to speed up repeated brew calls. This does not work (yet) on Apple Silicon or using Homebrew’s portable Ruby.
- Various methods have been deprecated, disabled and removed
- Bash, fish and zsh completions are generated automatically from the CLI::Parser DSL. This will ensure they are kept up-to-date.
- brew update better handles upstream branch renames (e.g. from master to main)
- brew completions is a new command to opt-in to completions provided by third-party taps