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?

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

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.