Installation dans des erreurs Homebrew

Tenter d’installer rvm et ruby ​​1.9.2

J’ai déjà installé homebrew et git, mais je n’ai pas pu obtenir de mises à jour complètes car je continuais à obtenir des erreurs de permission. Réinstallation de Snow Leopard et des permissions réparées.

Maintenant cela arrive …

$ brew install wget

Erreur: impossible d’écrire dans / usr / local / Cellar

sudo chown -R $USER /usr/local

Vous devrez vous donner la propriété de /usr/local/ utilisant cette ligne directement. J’ai dû le faire moi-même après avoir utilisé le one-liner Ruby en haut des documents officiels pour installer Homebrew. A fonctionné à merveille pour moi. Ce devrait être le seul moment où vous aurez besoin de sudo avec Homebrew.

Je ne suis pas sûr que le One-Liner Ruby le fasse. Si c’est le cas, alors quelque chose d’autre sur mon système a pris le contrôle de /usr/local depuis.

Edit : J’ai complètement raté cela, mais @samvermette n’a pas (voir les réponses à ma réponse): si vous exécutez cette commande ci-dessus et que vous avez installé quelque chose via homebrew nécessitant des permissions spéciales, comme mysql , assurez-vous de comme la commande ci-dessus vous donne la propriété récursive de tout ce qui se trouve dans /usr/local ( $USER ). Dans le cas de mysql, c’est…

sudo chown -RL mysql:mysql /usr/local/mysql/data

J’ai eu ce problème après la mise à niveau vers Mavericks, et cette page était le meilleur résultat de recherche lors de la recherche du message d’erreur. J’ai poursuivi mes recherches et trouvé cette réponse sur stack overflow.com . En bref, c’est:

 sudo chmod a+w /usr/local/Cellar 

Cela a résolu le problème pour moi, et comme il ne fait que modifier les permissions pour le chemin d’access spécifique référencé dans le message d’erreur, il semble peu probable que cela entraîne des effets secondaires négatifs avec d’autres installations.

Je mets cette réponse ici pour quiconque pourrait trouver cette page en premier comme je l’ai fait. Cependant, le crédit devrait aller à jdi .

Vous pouvez autoriser uniquement les utilisateurs Admin à écrire dans /usr/local/ ?

 chgrp -R admin /usr/local chmod -R g+w /usr/local chgrp -R admin /Library/Caches/Homebrew chmod -R g+w /Library/Caches/Homebrew 

Puisque chaque utilisateur appartenant au groupe Admin pourra installer de nouvelles dépendances.

Sur High Sierra, vous avez besoin de la commande suivante car chown ne fonctionnera pas:

sudo chown -R $ (whoami) $ (infusion – préfixe) / *

Lien:

https://github.com/Homebrew/brew/issues/3228

désinstaller et réinstaller HomeBrew qui fera l’affaire

Je suggère de veiller à ce que l’utilisateur actuel soit membre du groupe qui possède / usr / local. Je crois par défaut que ce groupe est la wheel . Pour vous faire membre de ce groupe:

 $ sudo dscl . append /Groups/wheel GroupMembership $USER 

Bien que ce soit un peu un marteau inélégant, il a l’effet escompté: permettre l’access à des éléments de /usr/local destinés uniquement à être utilisés (lecture / écriture) par des membres élevés. Cette approche présente les avantages de l’autre, car elle tire parti de l’appartenance à un groupe, ce qui permet à plusieurs utilisateurs (autorisés) du système d’utiliser l’homebrew.

Comment avez-vous installé Homebrew? Leurs instructions d’installation officielles incluent l’exécution d’un script Ruby. Cela devrait prendre en compte les problèmes de permission pour vous.

Si vous ne souhaitez pas exécuter de script, il existe une section de cette page intitulée “Installation dans / usr / local pour les développeurs”, qui explique la modification des permissions nécessaires pour le répertoire / usr / local.

Vous pouvez également empêcher cette erreur si vous exécutez la commande avec sudo:

 $ sudo brew install wget 

Mais prenez soin d’utiliser sudo car vous pouvez faire beaucoup d’erreurs.