permissions - sierra - operation not permitted @ dir_s_mkdir-/usr/local/cellar
no se puede usar/usr/local para homebrew en Mac OS X 10.13 High Sierra (11)
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?
Acabo de ejecutar esto y todo se arregla en sierra alta:
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
Asegúrese de no tener un bloqueo establecido en la carpeta de inicio o en ninguna carpeta a la que la instalación necesite acceso.
Incluso si los permisos y la propiedad están configurados correctamente y actualmente ha iniciado sesión con un usuario correcto o usuario raíz, no le permitirá crear nuevas carpetas o directorios.
Desafortunadamente, ya no puedes usar chown
/usr/local
en High Sierra.
Una solución alternativa es
sudo mkdir /usr/local/include
y
/usr/local/Frameworks
si no existen, y
sudo chown -R $(whoami) $(brew --prefix)/*
¡Gracias a ilovezfs por esta solución simple y por la increíble cerveza casera!
El problema aún persiste en la última MacOS, es decir,
Mojave
.
Desinstalar y reinstalar Homebrew no resuelve el problema de permisos de directorio.
De hecho, ¡no está relacionado con la instalación de Homebrew en absoluto!
Cuando hacemos
brew install python
, simplemente vierte brew python y luego intenta crear un enlace simbólico en / usr / local dir para el cual brew no tiene permiso.
Y cuando intentamos ejecutar
sudo chown -R $(whoami) /usr/local
no funciona porque requiere privilegios adicionales que los usuarios normales de mac (es decir, su nombre de usuario) no tienen.
Pero como @Reza mencionó en su
answer
se puede cambiar el permiso de cualquier directorio debajo.
simplemente emita el siguiente comando:
sudo chown -R $(whoami) /usr/local/*
El problema siguió ocurriendo ... después de profundizar 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)"
Intente deshabilitar la Protección de integridad del sistema . De la documentación:
La Protección de integridad del sistema se puede configurar con el comando csrutil (1).
Puede verificar si la Protección de integridad del sistema está actualmente habilitada 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 sistema operativo Recovery 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, se requiere reiniciar.
No puede cambiar el permiso para
/usr/local
sí, pero puede cambiar el permiso correcto para las carpetas debajo, por lo que esto solucionó el
sudo chown -R $(whoami) /usr/local/*
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
Seguí
this
pero el problema aún persiste.
Entonces, reinstalé
homebrew
sin desinstalar el anterior.
¡Está funcionando ahora!
(No se como)
si está usando zsh porque viene de bash, es posible que deba cambiar su $ PATH.
debe 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.
Este funcionó desde Apple stackexchange
$ cd /usr/local
$ sudo chown -R <your-username>:<your-group-name> *
nombre del grupo usualmente
staff
y no olvides el
*