permissions - you - ne peut pas chown/usr/local pour l'homebrew dans Mac OS X 10.13 High Sierra




usr local sbin is not writable (8)

Homebrew a besoin d'autorisations dans / usr / local et, comme personne d'autre n'utilise mon ordinateur portable, je l'ai toujours fait

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

mais dans High Sierra, cela donne

chown: /usr/local: Operation not permitted

Quelle est la solution?


Assurez-vous de ne pas définir de verrou sur le dossier de départ ou sur un dossier auquel une installation a besoin d'accéder.

Même si les autorisations et la propriété sont correctement définies et que vous êtes actuellement connecté avec un utilisateur / utilisateur racine correct, cela ne vous permettra pas de créer de nouveaux dossiers ou répertoires.


Essayez de désactiver la protection de l'intégrité du système . De la documentation:

La protection de l'intégrité du système peut être configurée à l'aide de la commande csrutil (1).

Vous pouvez vérifier si la protection de l'intégrité du système est actuellement activée sur votre système en exécutant la commande suivante dans le terminal:

$ csrutil status
System Integrity Protection status: enabled.

Pour activer ou désactiver la protection de l'intégrité du système, vous devez démarrer sous le système de récupération et exécuter la commande csrutil (1) à partir du terminal.

Démarrez sur le système de récupération en redémarrant votre ordinateur et en maintenant les touches Commande et R enfoncées au démarrage. Lancez Terminal depuis le menu Utilitaires. Entrez la commande suivante: $ csrutil enable

Après l'activation ou la désactivation de la protection de l'intégrité du système sur une machine, un redémarrage est requis.


Je n'avais pas le dossier / user / local / Frameworks, donc cela a été corrigé pour moi

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

J'ai OSX High Sierra



Le problème persiste dans le dernier MacOS, c’est-à-dire Mojave . La désinstallation et la réinstallation de Homebrew ne résolvent pas le problème d’autorisation de répertoire. En fait, ce n'est pas du tout lié à l'installation de Homebrew!

Lorsque nous préparons l’ brew install python cela brew install python simplement à injecter python, puis à créer un lien symbolique sous / usr / local dir pour lequel l’installation n’a pas l’autorisation voulue. Et lorsque nous essayons d'exécuter sudo chown -R $(whoami) /usr/local cela ne fonctionne pas car il nécessite des privilèges supplémentaires que les utilisateurs Mac ordinaires (votre nom d'utilisateur) ne possèdent pas. Mais comme @Reza l'a mentionné dans sa answer autorisation de tout répertoire situé en dessous peut être modifiée. émettez simplement la commande suivante:

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

Malheureusement, vous ne pouvez plus chown /usr/local dans High Sierra. Une solution de contournement consiste à sudo mkdir /usr/local/include et /usr/local/Frameworks s'ils n'existent pas, et

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

Merci à ilovezfs pour cette solution de contournement simple et l’incroyable homebrew!


si vous utilisez zsh parce que vous venez de bash, vous devrez peut-être changer votre $ PATH. vous devez ajouter export PATH=$HOME/bin:/usr/local/bin:$PATH dans le fichier .zshrc

alors cela devrait fonctionner, ce problème résolu dans mon mac par cette voie.