instalar - install python 3.6 mac terminal
Cómo arreglar permisos en Home-brew en MacOS High Sierra (11)
Acabo de hacer esto y funcionó bien:
sudo touch /usr/local/Frameworks
brew link python
Cuando intenté instalar python en home-brew, lo descargué y luego apareció un mensaje de error al final que evitó que se completara. Cuando intento hacerlo de nuevo me pide que haga:
$ brew link python
Después de ingresar, aparece el mismo mensaje de error:
permission denied @ dir_s_mkdir - /usr/local/lib
He tratado de hacer:
$ sudo chown -R $(whoami) /usr/local
Y recibo un mensaje de error que dice: "chown: / usr / local: operación no permitida"
Como se mencionó, por henrikstroem, los backticks pueden ser útiles, y como se mencionó por bnaecker, los atributos especiales también podrían dificultar el proceso.
También puedes intentar ejecutar el comando directamente como root para ver si hay mejores resultados, haciendo sudo su -
y luego chown -R username /usr/local
¿Pero estás seguro de que eso es realmente lo que quieres? Podría ser más interesante crear un grupo que tenga acceso (como chown -R originaluser:group /usr/local
, establecer los derechos que desea y / o hacer que su usuario sea parte de ese grupo.
Desinstalar y hacer una instalación limpia de homebrew solucionará el problema.
Ejecuta esto, y sigue sus sugerencias:
brew doctor
En mi caso, quería que corriera:
sudo mkdir -p /usr/local/sbin /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/sbin /usr/local/Frameworks
En mi caso con la nueva instalación de MacOS 10.14 en una máquina nueva:
brew doctor
Y sugiere:
sudo mkdir -p /usr/local/lib /usr/local/sbin
sudo chown -R $(whoami) /usr/local/lib /usr/local/sbin
Probé y tuve esta misma salida (creo):
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Así que creé un directorio / usr / local / Frameworks como root, y luego cambié la propiedad:
sudo mkdir /usr/local/Frameworks && chown $USER:admin /usr/local/Frameworks
Intenté de nuevo brew install python
:
Warning: python 2.7.14 is already installed, it''s just not linked.
You can use `brew link python` to link this version.
Y a continuación, brew link python
:
Linking /usr/local/Cellar/python/2.7.14... 26 symlinks created
Ahora en el directorio /usr/local/Frameworks/Python.framework/ puedo ver enlaces, por ejemplo:
lrwxr-xr-x 1 niquit admin 62 Dec 8 21:41 /usr/local/Frameworks/Python.framework/Headers -> ../../Cellar/python/2.7.14/Frameworks/Python.framework/Headers/
lrwxr-xr-x 1 niquit admin 61 Dec 8 21:41 /usr/local/Frameworks/Python.framework/Python -> ../../Cellar/python/2.7.14/Frameworks/Python.framework/Python*
lrwxr-xr-x 1 niquit admin 64 Dec 8 21:41 /usr/local/Frameworks/Python.framework/Resources -> ../../Cellar/python/2.7.14/Frameworks/Python.framework/Resources/
En su caso, sugiero crear manualmente / usr / local / lib:
sudo mkdir /usr/local/lib && chown $USER:admin /usr/local/lib
Hice una prueba con mv /usr/local/lib{,.orig}
, y obtuve:
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/lib
Error: Permission denied @ dir_s_mkdir - /usr/local/lib
Al igual que antes, creé manualmente el directorio sudo mkdir /usr/local/lib && chown $USER:admin /usr/local/lib
, y he creado correctamente brew link python
:
Linking /usr/local/Cellar/python/2.7.14... 324 symlinks created
Ahora puedo encontrar algunos enlaces:
lrwxr-xr-x 1 niquit admin 54 Dec 8 22:01 python-2.7.pc -> ../../Cellar/python/2.7.14/lib/pkgconfig/python-2.7.pc
lrwxr-xr-x 1 niquit admin 50 Dec 8 22:01 python.pc -> ../../Cellar/python/2.7.14/lib/pkgconfig/python.pc
lrwxr-xr-x 1 niquit admin 51 Dec 8 22:01 python2.pc -> ../../Cellar/python/2.7.14/lib/pkgconfig/python2.pc
Creo que Apple después de la última actualización aumentó la seguridad, por lo que no es posible crear ahora el directorio en / usr / sin permiso de root.
Reinstalé brew y solucioné el problema.
para desinstalar usa el siguiente comando.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
e instalar brew de nuevo.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
macOS proporciona varias formas de controlar el acceso a los archivos, más allá de los permisos tradicionales para usuarios, grupos y otros. Esto incluye listas de control de acceso (ACL), marcas de archivo, atributos extendidos (xattrs) y, más recientemente, la Protección de integridad del sistema de Apple.
ls -lO /usr/
que si ejecuta ls -lO /usr/
, para enumerar las uchg
verá uchg
frente a /usr/local
, que le indica al sistema que el usuario no pueda uchg
el archivo. (La u
en uchg
significa que el propietario del archivo puede modificar este indicador . Ni el propietario ni ningún otro usuario pueden modificar el archivo en sí).
Para resolver el problema, primero deberá eliminar el indicador ejecutando: chflags nouchg /usr/local
. Esto debería eliminar el indicador uchg
, que debería verificar nuevamente con ls -lO
. Si se establece otro indicador, como schg
, use noschg
o no<flag>
en general, pero tendrá que sudo
los comandos cuando el indicador comience con s
.
En este punto, es posible que aún deba chown
el directorio, con sudo chown -R $(whoami) /usr/local
. Ahora debería tener el directorio y las herramientas Homebrew deberían funcionar bien.
/usr/local
ya no puede ser chown en High Sierra. En lugar de usar
sudo chown -R $(whoami) $(brew --prefix)/*
brew doctor
Este comando, como lo sugirió Chris en los comentarios, resolvió casi TODOS mis problemas caseros que se ejecutan en un Mac Mini 2011 5,1 ejecutando de manera no oficial MacOS Mojave. Simplemente ingrese eso y siga todas las instrucciones que imprima el terminal
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
brew link python3