72 votes

Comment réparer les autorisations sur Home-brew sur MacOS High Sierra

Quand j'ai essayé d'installer python sur homebrew téléchargé, puis un message d'erreur surgit à la fin qu'il s'est arrêté de se terminer. Quand j'essaie de le faire à nouveau, il me demande de le faire:

$ brew link python

Après avoir saisi que le même message d'erreur s'affiche:

autorisation refusée @ dir_s_mkdir - /usr/local/lib

J'ai essayé de faire:

$ sudo chown -R $(whoami) /usr/local

Et je reçois un message d'erreur qui dit:

chown: /usr/local: Opération non permise

133voto

gfly Points 810
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks    
brew link python3

16voto

Shaul Hameed Points 399
 sudo mkdir /usr/local/Frameworks

sudo chown $USER /usr/local/Frameworks
 

Et essayez ensuite de réinstaller python. Cela a fonctionné parfaitement pour moi.

10voto

Niquit Points 98

J'ai essayé et ont eu ce même ( je pense ) de sortie:

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

J'ai donc créé un répertoire /usr/local/Cadres en tant que root, et que le changement de la propriété:

sudo mkdir /usr/local/Frameworks && chown $USER:admin /usr/local/Frameworks

J'ai essayé à nouveau 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.

Et puis, brew link python:

Linking /usr/local/Cellar/python/2.7.14... 26 symlinks created

Maintenant dans le répertoire /usr/local/Frameworks/Python.cadre/ I peuvent voir les liens, par exemple:

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/

Dans votre cas, je vous suggère de créer manuellement le répertoire /usr/local/lib:

sudo mkdir /usr/local/lib && chown $USER:admin /usr/local/lib

Un fait un test en mv /usr/local/lib{,.orig}, et j'ai obtenu:

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

Comme avant, j'ai créé manuellement le répertoire sudo mkdir /usr/local/lib && chown $USER:admin /usr/local/lib, et le succès n' brew link python:

Linking /usr/local/Cellar/python/2.7.14... 324 symlinks created

Maintenant, je peux trouver quelques liens:

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

Je pense que Apple après la dernière mise à jour de sécurité accrues, donc ce n'est pas possible de créer maintenant répertoire dans /usr/ sans racine autorisation.

6voto

H. Gourlé Points 710

/usr/local ne peut plus être chown dans High Sierra. Utilisez plutôt

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

4voto

Walrus the Cat Points 782

Désinstaller et effectuer une nouvelle installation de homebrew résoudra le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X