Homebrew ne liera pas git

11

Lorsque j'ai installé git ou mis à niveau git via, brewje ne pouvais pas le lier avec brew link git. Si j'essaye sudo brew link gitj'obtiens:

lâche refusant de brasser sudo lien

Il dit que je dois vérifier les autorisations sur:

/usr/local/share/gitk/lib
/usr/local/share/git-gui/lib
/usr/local/share/git-core/templates
/usr/local/share/git-core/templates/hooks
/usr/local/share/git-core

J'ai chmodtout édité au 777 mais je ne sais pas si c'est bon.

Je peux maintenant lier git. Dois-je changer l'autorisation pour quelque chose de moins permissif?

Yannick Schall
la source

Réponses:

5

Les autorisations 777 ne sont pas nécessairement mauvaises ici - vous ne rencontrerez probablement jamais de problèmes d'autorisations, et ce n'est pas un énorme problème de sécurité, je dirais.

Quoi qu'il en soit, les autorisations "normales" sur /usr/local/sharece Homebrew requis devraient être (récursivement) 755, donc rwxr-xr-x.

chmod -R 755 /usr/local/share

Au moins, brewil ne devrait pas avoir besoin des autorisations sudo pour y faire quoi que ce soit. Seul /usr/localappartient au groupe root, mais accessible en écriture staff, dans lequel votre utilisateur doit se trouver.

Pour réparer les installations Homebrew existantes, consultez cet élément essentiel , qui est un script qui tentera de corriger vos /usr/localautorisations.


À titre d'exemple, voici la liste des répertoires de l'une de mes (saines) installations Homebrew, ghostscriptétant la seule exception qui nécessitait sudo brew link:

aeneas:local werner$ ls -la /usr/local/share/
total 40
drwxr-xr-x  11 werner  staff  374 Mar  5 14:53 .
drwxrwxr-x  14 werner  staff  476 Feb 28 12:51 ..
drwxr-xr-x   6 werner  staff  204 Mar  5 14:54 aclocal
drwxr-xr-x   8 werner  staff  272 Mar  5 14:53 doc
lrwxr-xr-x   1 werner  staff   34 Feb  8 12:26 ffmpeg -> ../Cellar/ffmpeg/0.10/share/ffmpeg
drwxr-xr-x   4 werner  wheel  136 Apr 16  2010 ghostscript
lrwxr-xr-x   1 werner  staff   36 Mar  5 14:53 git-core -> ../Cellar/git/1.7.9.2/share/git-core
lrwxr-xr-x   1 werner  staff   35 Mar  5 14:53 git-gui -> ../Cellar/git/1.7.9.2/share/git-gui
lrwxr-xr-x   1 werner  staff   32 Mar  5 14:53 gitk -> ../Cellar/git/1.7.9.2/share/gitk
lrwxr-xr-x   1 werner  staff   34 Mar  5 14:53 gitweb -> ../Cellar/git/1.7.9.2/share/gitweb
drwxr-xr-x   9 werner  staff  306 Mar  5 14:53 man
slhck
la source
Pour plus d'étapes de diagnostic, exécutez brew doctor.
slhck
Malheureusement, le docteur de brassage ne donne aucune information utile dans ce cas. L'essentiel mentionné a résolu un problème similaire pour moi, merci :)
TheDeadSerious
une fois que j'ai installé brew, je n'ai pas eu besoin d'utiliser sudo pour presque rien. Peut-être que vous avez créé quelque chose que vous ne devriez pas avoir à un moment donné qui a obtenu les autorisations et / ou la propriété de Whack?
dstarh
@dstarh C'est généralement le problème. De nos jours, Homebrew ne devrait rien faire lorsqu'il sudoest utilisé.
slhck
Pourquoi Homebrew ne nous autorise-t-il pas à utiliser sudo? Nous devons continuer à jouer avec nos autorisations pour lier des choses quand cela devrait nous laisser sudo brew link [package]comme apt-get. Je copie moi-même les bibliothèques de la cave chaque fois que je veux mettre à jour quelque chose plutôt que d'essayer de gérer cela.
sudo
0

Je n'ai pas encore essayé l'essentiel, mais j'ai essayé chmod 775sur le dossier. Comme il lui appartient, root:wheelil ne peut pas être changé. J'ai référencé un site japonais.

sudo chown yourusername:admin -R /usr/local/share/ghostscript
brew link ghostscript
brew doctor

alors ça marche pour moi dessus.

Jimmy MG Lim
la source