139 votes

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

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?

254voto

Uri Meirav Points 131

Le problème continuait à se produire ... après avoir approfondi, j'ai constaté que la désinstallation puis la réinstallation de Homebrew permettaient de résoudre ce problème.

Désinstallez Homebrew:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
 

Puis réinstallez-le:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 

65voto

Dan Points 1251

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!

53voto

Reza Farshi Points 529

Vous ne pouvez pas modifier l’autorisation pour /usr/local elle-même, mais vous pouvez modifier l’autorisation appropriée pour les dossiers situés en dessous.
sudo chown -R $(whoami) /usr/local/*

9voto

johnshumon Points 91

Le problème persiste encore dans les dernières MacOS c'est à dire Mojave. La désinstallation et la réinstallation de Homebrew ne résout pas le répertoire problème d'autorisation. En fait, il n'est pas lié à l'installation de Homebrew à tous!

Quand nous faisons brew install python simplement, il verse de l'infusion python et puis essaie de créer un lien symbolique dans /usr/local dir qui brew n'a pas l'autorisation pour. Et quand nous essayons d'exécuter sudo chown -R $(whoami) /usr/local cela ne fonctionne pas car il faut en plus le privilège normal les utilisateurs de mac (c'est à dire votre nom d'utilisateur) n'ont pas. Mais comme @Reza mentionné dans sa réponse, l'autorisation de n'importe quel répertoire en dessous peut-être changé. simplement émettre commande suivante:

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

8voto

Aayush Gautam Points 101

J'ai suivi cela, mais le problème persiste.
J'ai donc réinstallé homebrew sans désinstaller le précédent. Ça marche maintenant!
(Je ne sais pas comment)

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