Saltar al contenido

¿Puedo instalar Homebrew sin privilegios de sudo?

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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *