Questão Homebrew não vai ligar git


Quando eu instalei o git ou atualizo o git via brew Eu não consegui linkar brew link git. Se eu tentar sudo brew link git Eu recebo:

covardemente se recusando a sudo brew link

Diz que tenho que verificar as permissões em:

/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

Eu chmoded tudo para 777, mas não tenho certeza se é bom.

Agora posso ligar o git. Devo mudar a permissão para algo menos permissivo?


11


origem




Respostas:


As permissões do 777 não são necessariamente ruins aqui - você provavelmente nunca terá problemas de permissões, e não é um problema de segurança enorme, eu diria.

De qualquer forma, as permissões "normais" /usr/local/share que Homebrew requer deve ser (recursivamente) 755, assim rwxr-xr-x.

chmod -R 755 /usr/local/share

Finalmente brew não deve precisar de permissões sudo para fazer alguma coisa lá. Somente /usr/local É de propriedade de root, mas gravável para o staff grupo, no qual seu usuário deve estar.

Para consertar as instalações existentes da Homebrew, confira essa essência, que é um script que tentará corrigir o seu /usr/local permissões.


Como exemplo, aqui está a lista de diretórios de uma das minhas instalações Homebrew (sãs) com ghostscript sendo a única exceção que precisava de um 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

5



Para mais etapas de diagnóstico, execute brew doctor. - slhck
Infelizmente, brew médico não dá nenhuma informação útil neste caso. O gist mencionado corrigiu um problema semelhante para mim, obrigado :) - TheDeadSerious
Uma vez que eu instalei brew eu não precisava usar o sudo para muita coisa. Talvez você sudo'd algo que você não deveria ter em algum momento que tem as permissões e / ou propriedade fora do whack? - dstarh
@dstarh Esse é geralmente o problema. Hoje em dia Homebrew não deve fazer nada quando sudo é usado. - slhck
Por que o Homebrew não nos permite usar o sudo? Continuamos tendo que mexer com nossas permissões para vincular as coisas quando deveria nos deixar sudo brew link [package] como o apt-get faz. Eu só copio as bibliotecas do porão toda vez que eu quero atualizar algo ao invés de tentar lidar com isso. - sudo


Eu ainda não tentei a essência, mas tentei chmod 775 na pasta. Como pertence a root:wheel não pode ser alterado. Eu fiz referência a um site japonês.

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

então funciona para mim acima.


0