Solución:
Si.
Modifiqué el script de instalación para no usar sudo
y utilizar un directorio de su elección. https://gist.github.com/skyl/36563a5be809e54dc139
Descargar eso, configurar YOUR_HOME
en el script a la ruta absoluta. chmod +x
la secuencia de comandos. Crea el YOUR_HOME/usr/local
directorio. Luego, ejecute el script.
./install.rb
En .bash_profile
, Configuré (no estoy seguro de que esto sea importante, bastante seguro):
export HOMEBREW_PREFIX=/The/path/to/YOUR_HOME/usr/local
Ahora puedo:
brew install wget
Asegúrate que bin
directorio, YOUR_HOME
+ /usr/local/bin
está en tu $PATH
.
which wget
No … A menos que hagas una cirugía importante.
La razón es que Homebrew insiste firmemente en instalar paquetes en /usr/local
. De hecho, incluso si lo obligó a instalarse en otro lugar, es probable que rompa las dependencias cuando use brew install
para instalar paquetes. La mayoría, si no todos, de estos paquetes están precompilados y vinculados esperando vivir en /usr/local
.
La razón de esta insistencia es que /usr/local
es precisamente donde POSIX recomienda que se instalen cosas como esta. Con el propósito de crear /usr/local
Homebrew necesita credenciales de administrador temporales para crear el directorio y asignar la propiedad.
Esto, a su vez, es lo que le permite instalar cualquier otra cosa sin elevar las credenciales.
En caso de que alguien todavía esté buscando esto en 2020 y más allá, sí, esto es posible sin privilegios de root:
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
Lo anterior le permite instalar homebrew en cualquier lugar. Asegúrese de agregar homebrew / bin a su $ PATH.
Más información sobre este método de instalación alternativo (y fuente): https://docs.brew.sh/Installation#untar-anywhere