Linuxbrew / brew

:beer::penguin: The Homebrew package manager for Linux
https://linuxbrew.sh
BSD 2-Clause "Simplified" License
2.66k stars 237 forks source link

Default install to user's home directory? #762

Closed windware-ono closed 6 years ago

windware-ono commented 6 years ago

Linuxbrew tries to install to /home/linuxbrew/ but what is the reason for this decision? It's kind of an odd place to put files under a non existent user's directory under /home.

It does seem to install under the current user's home but I'm not sure how to do this when the user does have the sudo privilege other than manually cloning the repo.

jonchang commented 6 years ago

You'll have to do the manual install if you'd like to install to a different directory under a user with sudo privileges. See the upstream Homebrew's documentation for why -- not all bottles are relocatable, so to make full use of our bottling infrastructure the default location is necessary.

iMichka commented 6 years ago

In more simple words: the precompiled binaires contain sometimes hard coded paths. We have chosen to go for /home/linuxbrew so you can use the bottles. Of course a manual install somewhere else is always possible.

iMichka commented 6 years ago

Closing here as this was more a question than a real issue.

sjackman commented 6 years ago

Here's my typical stock response, copied and pasted:

Consider installing Linuxbrew in /home/linuxbrew/.linuxbrew/ if possible so that you can use precompiled binary packages (known as bottles) for non-relocatable formula like util-linux. Another possible workaround for you is brew install --force-bottle util-linux, but no promises.

If it's an option for you, you could open a ticket with your information systems department to ask that they create a linuxbrew role account with home directory /home/linuxbrew.

The precompiled binary bottles of non-relocatable bottles can only be used if you install in /home/linuxbrew/.linuxbrew, otherwise they have to be built from source. See the documentation below. On macOS the default installation directory is /usr/local. On Linux the default installation directory is /home/linuxbrew/.linuxbrew.