400 votes

Brew doctor dit : "Warning : /usr/local/include n'est pas accessible en écriture".

Le médecin de la brasserie dit :

Avertissement : /usr/local/include n'est pas accessible en écriture. Cela peut arriver si vous faites "sudo make install" un logiciel qui n'est pas géré par Homebrew.

Si un brew essaie d'écrire un fichier d'en-tête dans ce répertoire, l'installation échouera pendant l'étape de liaison.

Vous devriez probablement chown /usr/local/include

J'ai essayé différentes commandes pour résoudre ce problème mais je suis toujours bloqué ici.

J'utilise homebrew sur 10.8.2.

1 votes

J'ai eu une erreur similaire pour "/usr/local/lib" dans Homebrew 0.9.4 qui a également été résolue avec la solution ci-dessous.

2voto

Null-Hypothesis Points 1455

Vous devez prendre le contrôle de tout /usr/local pour cela, il faut faire une récursive chown sous /usr/local

sudo chown -R YOUR_USERNAME:admin /usr/local/

2voto

adamkski Points 21

Je veux juste faire écho sam9046 J'ai trouvé dans le modeste commentaire de l'auteur une solution alternative et potentiellement beaucoup plus simple qui a fonctionné dans mon cas : désinstaller et installer homebrew à nouveau à partir de zéro. Aucune commande sudo n'est nécessaire.

Vous pouvez également parcourir/modifier la désinstallation script à partir de ce lien ci-dessus si vous avez besoin de vous assurer que cela n'affectera pas vos paquets précédemment installés. Dans mon cas, il s'agissait juste de ma machine domestique, alors j'ai simplement recommencé.

0 votes

1voto

Tarun Points 1171

Cela s'est produit dans mon organisation après que tous nos utilisateurs aient été liés à Active Directory (en changeant effectivement l'UID de 50x à ######).

Maintenant, il s'agit simplement de changer la propriété de tous les fichiers qui appartenaient à x en y.

Où 501 est mon ancien identifiant numérique qui est toujours associé à tous les fichiers homebrew.

L'ancien identifiant de l'utilisateur peut être trouvé en utilisant ll /usr/local/Cellar

Maintenant, mettez à jour la propriété sudo find /usr/local -user 501 -exec chown -h $USER {} \;

De cette façon, nous évitons de changer la propriété des fichiers qui ne sont pas contrôlés par homebrew ou qui appartiennent à un autre utilisateur du système.

1voto

Yusuf Points 1349

Allez dans le répertoire /bin et tapez :

chown -R $(whoami):admin /usr/local/bin

-3voto

happyaccidents Points 345

Essayez de changer la propriété du répertoire à n'importe qui

sudo chown nobody:nogroup /usr/local/include

Puis faites-en un autre

brew doctor

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