web-dev-qa-db-fra.com

Problème relatif aux autorisations d'installation Homebrew

J'ai une installation homebrew standard à l'intérieur de usr/local /

Quand j'essaye:

Larson-2:~ larson$ brew install postgresql
Error: Cannot write to /usr/local/Cellar

Et quand j'utilise Sudo:

Larson-2:~ larson$ Sudo brew install postgresql
Cowardly refusing to `Sudo brew install'

Qu'est-ce que je fais mal?

38

Vous avez en quelque sorte des autorisations limitées à /usr/local/Cellar. Brew n'aime pas installer avec Sudo, raison pour laquelle il refuse.

Vérifiez les autorisations:

ls -ld /usr/local/Cellar

Ouvrez-les pour écrire:

Sudo chmod a+w /usr/local/Cellar

120
jdi

N'utilisez pas Sudo lorsque vous travaillez avec brew (pour des raisons de sécurité).

Vous devez configurer simplement vos autorisations.

Je voudrais donc aller encore plus loin et modifier les autorisations pour:

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

puis appliquez le groupe spécifique (admin ou staff) à l'utilisateur qui devrait être autorisé à utiliser la commande brew. Vérifiez les groupes de vos utilisateurs via: id -Gn).

S'il y a d'autres problèmes, exécutez: brew doctor pour voir ce qui ne va pas.

9
kenorb

Je changerais les permissions du groupe:

$ chgrp -R admin /usr/local/Cellar
$ chmod g+w /usr/local/Cellar

en supposant que votre compte d'utilisateur est dans le groupe admin. 

6
Aiden Bell

Cela se produit également si vous avez plusieurs utilisateurs sur votre machine. Si tel est le cas, il serait préférable que vous changiez d'utilisateur, car chaque approche vous amènerait à jouer avec plus de fichiers et de dossiers que simplement/usr/local/Cellar

Utilisez su userWhoInstalledBrew.

1
horstwilhelm

Le problème peut être résolu en changeant le propriétaire du répertoire en utilisateur actuel:

Sudo chown -R $USER /usr/local

Cette réponse est tirée de: https://github.com/Homebrew/homebrew/issues/17884

0
Ram Patra