no se puede chown / usr / local para homebrew en Mac OS X 10.13 High Sierra

118

Homebrew necesita permisos en / usr / local y como nadie más usa mi computadora portátil, siempre lo he hecho

sudo chown -R $(whoami) $(brew --prefix)

pero en High Sierra, esto da

chown: /usr/local: Operation not permitted

¿Cuál es la solución?

Dan
fuente
Resuelto con: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Respuestas:

218

El problema siguió ocurriendo ... después de profundizar más descubrí que solo desinstalar Homebrew y luego volver a instalarlo resolvió este problema.

Desinstalar Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Luego, vuelva a instalarlo:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Uri Meirav
fuente
4
esta era la única forma de arreglar mi homebrew después de la actualización "High" Sierra. mi error fue: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib y no sudo chown -R $(whoami) $(brew --prefix)/* ayudó ...
gh4x
Increíble. Falló la primera vez, el script de desinstalación falló, la segunda instalación funcionó.
GreenAsJade
Es posible que desee guardar la salida de brew listen un archivo primero, para tener un registro de qué paquetes se instalaron.
Giles Gardam
1
Ninguna de las otras correcciones de Homebrew de Mojave funcionaría en mi sistema. Desinstalar / Reinstalar funcionó perfectamente.
pkamb
2
Funciona también con Catalina
Gefilte Fish
52

Desafortunadamente, ya no puedes comer /usr/localen High Sierra. Una solución alternativa es sudo mkdir /usr/local/includey /usr/local/Frameworkssi no existen, y

sudo chown -R $(whoami) $(brew --prefix)/*

¡Gracias a ilovezfs por esta sencilla solución y por el increíble homebrew!

Dan
fuente
9
Sigue sin funcionar. $ brew update Error: el directorio / usr / local no se puede escribir.
Laurence Cope
Intente desinstalar y volver a instalar Homebrew: stackoverflow.com/questions/46459152/…
ruggershawn
como comenté en otro lugar, la desinstalación elimina TODOS los paquetes de preparación.
Jaydel
$(brew --prefix)debería evaluar /usr/local/, creo.
Jordan Stewart
33

No puede cambiar el permiso por /usr/localsí mismo, pero puede cambiar el permiso correcto para las carpetas debajo, por lo que esto solucionó el
sudo chown -R $(whoami) /usr/local/*

Reza Farshi
fuente
1
Sigue con el mismo problema
Laurence Cope
2
Ejecutando en MacOS High Sierra. Trabajó. Gracias.
Prince Odame
2
Me funcionó en: macOS High Sierra 10.13.6
Gail Parsloe
8

Seguí esto pero el problema persiste.
Entonces, reinstalé homebrew sin desinstalar el anterior. ¡Está funcionando ahora!
(No se como)

Aayush Gautam
fuente
3
Recomiendo desinstalar completamente Homebrew y luego instalarlo nuevamente.
k1r8r0wn
Múltiples instalados funcionaron, no pude arreglarlo hasta que lo desinstalé.
cbowns
la desinstalación arruinará todo. Tengo un montón de paquetes instalados y tendré que revisarlos e instalarlos de nuevo. Lamentablemente, todo esto funcionó anteriormente porque TENGO esos paquetes.
Jaydel
3

Intente deshabilitar la protección de integridad del sistema . De la documentación:

La protección de la integridad del sistema se puede configurar mediante el comando csrutil (1).

Puede verificar si la Protección de Integridad del Sistema está habilitada actualmente en su sistema ejecutando el siguiente comando en la Terminal:

$ csrutil status
System Integrity Protection status: enabled.

Para habilitar o deshabilitar la protección de integridad del sistema, debe iniciar el SO de recuperación y ejecutar el comando csrutil (1) desde la Terminal.

Inicie el sistema operativo de recuperación reiniciando su máquina y manteniendo presionadas las teclas Comando y R al inicio. Inicie Terminal desde el menú Utilidades. Ingrese el siguiente comando: $ csrutil enable

Después de habilitar o deshabilitar la protección de integridad del sistema en una máquina, es necesario reiniciar.

Elle Mundy
fuente
Si bien esto puede responder teóricamente a la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia.
Jake Symons
3
Esto es un poco como quitar la protección de la sierra de mesa. Funciona, y puede ser necesario a veces, pero es más seguro si no tiene que hacerlo. Establecerse como el propietario de / usr / local para hacer que el homebrew funcionara siempre parecía un truco de todos modos.
Caleb
3
¡Esto está muy desanimado! Es extremadamente peligroso a menos que el usuario no sepa lo que está haciendo.
Abu Shumon
@oligofren: D: D: D vamos hombre. Relájate, no es un word in contextconcurso de inglés . : D: D Bandera para advertir al usuario. Pero está bien, entonces retoma las palabras para mí: p: p
Abu Shumon
1

si está usando zsh porque viene de bash, es posible que tenga que cambiar su $ PATH. deberías agregar export PATH=$HOME/bin:/usr/local/bin:$PATH en .zshrc

entonces debería funcionar, este problema se resolvió en mi mac de esta manera.

zyqbit
fuente
1

También estoy en 10.13 High Sierra. Probé las sugerencias anteriores; nada funcionó. Finalmente intenté instalar primero las herramientas de línea de comandos :

xcode-select --install

y luego (re) ejecutó el comando brew install:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

y finalmente funcionó.

Ed Mechem
fuente
0

Asegúrese de no tener un candado configurado en la carpeta de inicio o en cualquier carpeta a la que deba acceder una instalación.

Incluso si los permisos y la propiedad están configurados correctamente y actualmente está conectado con un usuario correcto / o usuario raíz, no le permitirá crear nuevas carpetas o directorios.

Daniel
fuente
0

No tenía la carpeta / user / local / Frameworks, así que esto me lo arregló

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

Tengo OSX High Sierra

ap00724
fuente
0

esto es Kaushik. Estoy usando MacBook Pro macOS Catalina 10.15.4. Creé una nueva cuenta de administrador pero brew arrojaba un error. Por lo tanto, seguí un paso de esta publicación. lo que funcionó es:

sudo chown -R $ (whoami) $ (brebaje --prefijo) / *

koushik v
fuente