112 votes

Erreurs d'installation dans Homebrew

Tentative d'installation de rvm et ruby 1.9.2

J'ai déjà installé homebrew et git, mais je n'ai pas pu obtenir les mises à jour complètes car je recevais sans cesse des erreurs de permission. J'ai réinstallé Snow Leopard et réparé les permissions.

Maintenant, cela arrive...

$ brew install wget

Erreur : Impossible d'écrire dans /usr/local/Cellar

0 votes

stackoverflow.com/questions/4804169/ devrait être marqué comme réponse acceptée - je crains que les visiteurs qui ne voient pas que cette question n'a pas été répondue passent à autre chose.

275voto

Ben Kreeger Points 3036

sudo chown -R $USER /usr/local

Tu devras t'approprier /usr/local/ en utilisant cette ligne juste là. J'ai dû le faire moi-même après avoir utilisé la ligne de commande ruby en haut de la documentation officielle pour installer Homebrew. Ça a marché comme sur des roulettes pour moi. Ce devrait être la seule fois où vous aurez besoin de sudo avec Homebrew.

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

Modifier : J'ai complètement raté ça, mais @samvermette ne l'a pas fait (voir les réponses à ma réponse) : si vous exécutez la commande ci-dessus et que vous avez quelque chose d'installé via homebrew qui nécessite des autorisations spéciales pour l'utilisateur, comme par exemple mysql assurez-vous de redonner ces permissions (car la commande ci-dessus donne la propriété récursive à tout ce qui se trouve à l'intérieur de l'application /usr/local pour vous ( $USER ). Dans le cas de mysql, c'est

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

16 votes

Veuillez noter Cette commande va supprimer la propriété de /usr/local/mysql/data de la base de données de l'entreprise. mysql utilisateur. Dans mon cas, cela a empêché mysql de démarrer. Corrigez cela avec : sudo chown -RL mysql:mysql /usr/local/mysql/data

24 votes

J'ai évité le problème mysql en utilisant sudo chown -R $USER /usr/local/Cellar comme /usr/local/ avait déjà les bonnes permissions pour moi

1 votes

Hélas, les utilisateurs viennent et les utilisateurs partent peut-être un jour Ibrahim reviendra et le marquera. Peut-être. (Probablement pas.)

41voto

Nathan Points 121

J'ai eu ce problème après la mise à niveau vers Mavericks, et cette page était le premier résultat de recherche lorsque j'ai googlé le message d'erreur. J'ai continué à chercher et j'ai trouvé cette réponse sur stack overflow.com . En termes concis, c'est :

sudo chmod a+w /usr/local/Cellar

Cela a résolu le problème pour moi, et comme il ne change les permissions que pour le chemin spécifique référencé dans le message d'erreur, il semble peu probable qu'il y ait des effets secondaires négatifs avec d'autres installations.

Je mets cette réponse ici pour toute autre personne qui trouverait cette page en premier comme moi. Cependant, le mérite revient à jdi .

2 votes

Est-ce considéré comme acquis, puisque tout le monde peut maintenant écrire dans /usr/local/Cellar ?

0 votes

Cette réponse échoue pour les paquets qui nécessitent l'accès à d'autres dossiers (tels que /usr/local/bin ).

11voto

wilgosz.pl Points 60

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

Depuis que chaque utilisateur qui appartient au groupe Admin, sera en mesure d'installer de nouvelles dépendances.

0 votes

Cela semble être une meilleure solution pour les machines multi-administrateurs (bien que mon répertoire /usr/local/lib ait également besoin de g+x pour qu'aspell fonctionne).

1 votes

Pour éviter d'obtenir l'erreur "L'étape "brew link" ne s'est pas terminée avec succès", vous pouvez également appliquer ce qui se trouve dans le document ce fil , à savoir sudo chgrp -R admin /usr/local/DDDD + sudo chmod -R g+w /usr/local/DDDD où DDDD est poubelle , action , Bibliothèque/Chevalets liés , opter

1 votes

Merci pour la réponse, j'ai dû utiliser "sudo", donc si ces commandes ne fonctionnent pas, essayez de les préfixer avec "sudo".

5voto

Metodij Zdravkin Points 854

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

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

Lien :

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

2voto

Ricardo Marin Points 29

Désinstallez et ré-installez HomeBrew, cela fera l'affaire.

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