-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Description
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 defaultPATH
, 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?
-
/usr/local
-
/opt/homebrew
- Something else
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.