Feature suggestion
We need to determine which prefix we'll use as the default prefix for Apple Silicon-based Macs on a permanent basis.
A detailed description of the proposed feature
In #9117, we switched to a new prefix of /opt/homebrew for installations on Apple Silicon. This was written and shipped with heroic speed to help prevent strange issues with bleeding edge users on the first consumer Apple Silicon Macs. I'd like to make sure we have a conversation about our longterm plans here before we commit to something. This is an aspect with potential consequences for users, so it's important we've fully weighed the pros and cons before we come to a final decision.
Today, Homebrew's prefix is /usr/local, with the repository in /usr/local/Homebrew. In the initial phase of Apple Silicon migration, in order to avoid using the same prefix for both Intel and ARM binaries, we have two prefixes instead: /usr/local for Intel, and /opt/homebrew for Apple Silicon. Eventually, the need for /usr/local as a Rosetta installation of Homebrew will go away and Apple Silicon users will have only one installation.
Way back in the mists of history, /usr/local was chosen for a few reasons:
/usr/local/bin is in the default PATH, so most things a user will use will end up seeing Homebrew-installed tools without configuration.
- Buildsystems look in
/usr/local/include, /usr/local/lib and /usr/local/lib/pkgconfig by default, so non-Homebrew software will find Homebrew-installed libraries without configuration.
These reasons were all in contrast to MacPorts, which installed its software in /opt/local. /usr/local was chosen in response to the issues users were experiencing at the time. We have also received some feedback from users who would prefer a different default prefix, namely:
- Some non-Homebrew tools also install libraries and binaries in
/usr/local, for the same reason Homebrew does, and so there are sometimes conflicts between them.
- Some users don't want Homebrew-installed software to be found by default / without configuration, making an alternate prefix preferable.
Consequently, the question here is: once Apple Silicon Homebrew becomes the primary installation on Apple Silicon Macs, which should be prefix be?
We have a bit of time before we start creating our first bottles, so let's make sure we've discussed this in detail before then.
The motivation for the feature
Ensuring the best user experience.
How the feature would be relevant to at least 90% of Homebrew users
Eventually, close to 100% of Homebrew users will be using Apple Silicon.
What alternatives to the feature have been considered
See the discussion above.
Feature suggestion
We need to determine which prefix we'll use as the default prefix for Apple Silicon-based Macs on a permanent basis.
A detailed description of the proposed feature
In #9117, we switched to a new prefix of
/opt/homebrewfor installations on Apple Silicon. This was written and shipped with heroic speed to help prevent strange issues with bleeding edge users on the first consumer Apple Silicon Macs. I'd like to make sure we have a conversation about our longterm plans here before we commit to something. This is an aspect with potential consequences for users, so it's important we've fully weighed the pros and cons before we come to a final decision.Today, Homebrew's prefix is
/usr/local, with the repository in/usr/local/Homebrew. In the initial phase of Apple Silicon migration, in order to avoid using the same prefix for both Intel and ARM binaries, we have two prefixes instead:/usr/localfor Intel, and/opt/homebrewfor Apple Silicon. Eventually, the need for/usr/localas a Rosetta installation of Homebrew will go away and Apple Silicon users will have only one installation.Way back in the mists of history,
/usr/localwas chosen for a few reasons:/usr/local/binis in the defaultPATH, so most things a user will use will end up seeing Homebrew-installed tools without configuration./usr/local/include,/usr/local/liband/usr/local/lib/pkgconfigby default, so non-Homebrew software will find Homebrew-installed libraries without configuration.These reasons were all in contrast to MacPorts, which installed its software in
/opt/local./usr/localwas chosen in response to the issues users were experiencing at the time. We have also received some feedback from users who would prefer a different default prefix, namely:/usr/local, for the same reason Homebrew does, and so there are sometimes conflicts between them.Consequently, the question here is: once Apple Silicon Homebrew becomes the primary installation on Apple Silicon Macs, which should be prefix be?
/usr/local/opt/homebrewWe have a bit of time before we start creating our first bottles, so let's make sure we've discussed this in detail before then.
The motivation for the feature
Ensuring the best user experience.
How the feature would be relevant to at least 90% of Homebrew users
Eventually, close to 100% of Homebrew users will be using Apple Silicon.
What alternatives to the feature have been considered
See the discussion above.