Homebrew nie będzie łączył gita

11

Kiedy zainstalowałem git lub zaktualizowałem git przez, brewnie mogłem go połączyć brew link git. Jeśli spróbuję sudo brew link git, otrzymam:

tchórzliwy odmawia sudo warzyć link

Mówi, że muszę sprawdzić uprawnienia do:

/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

I chmoded wszystko na 777, ale nie jestem pewien, czy to jest dobre.

Mogę teraz połączyć gita. Czy powinienem zmienić uprawnienie na coś mniej liberalnego?

Yannick Schall
źródło

Odpowiedzi:

5

Uprawnienia 777 niekoniecznie są tutaj złe - prawdopodobnie nigdy nie napotkasz problemów z uprawnieniami i powiedziałbym, że nie jest to ogromny problem z bezpieczeństwem.

W każdym razie „normalne” uprawnienia /usr/local/sharewymagane przez Homebrew powinny wynosić (rekurencyjnie) 755 rwxr-xr-x.

chmod -R 755 /usr/local/share

Przynajmniej brewnie powinienem potrzebować uprawnień sudo, aby cokolwiek tam robić. Tylko /usr/localnależy do grupy, w której użytkownik powinien być root, ale do zapisu staff.

Aby naprawić istniejące instalacje Homebrew, sprawdź tę istotę , która jest skryptem, który będzie próbował poprawić twoje /usr/localuprawnienia.


Jako przykład podajemy tutaj katalog jednej z moich (zdrowych) instalacji Homebrew, z ghostscriptjedynym wyjątkiem, który wymagał 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
źródło
Aby wykonać więcej czynności związanych z diagnozowaniem, uruchom brew doctor.
slhck,
Niestety browarnik nie podaje żadnych przydatnych informacji w tym przypadku. Wspomniana istota naprawiła dla mnie podobny problem, dzięki :)
TheDeadSerious
po zainstalowaniu naparu nie potrzebowałem używać sudo do niczego. Być może zrobiłeś coś, czego nie powinieneś mieć w którymś momencie, co pozbawiłoby cię uprawnień i własności?
dstarh
@dstarh To zwykle jest problem. Obecnie Homebrew nie powinien nic robić, gdy sudojest używany.
slhck,
Dlaczego Homebrew nie pozwala nam korzystać z sudo? Ciągle musimy zadzierać z naszymi uprawnieniami do łączenia rzeczy, gdy powinno to pozwolić nam sudo brew link [package]tak jak apt-get. Po prostu kopiuję biblioteki z piwnicy za każdym razem, gdy chcę coś zaktualizować, zamiast próbować sobie z tym poradzić.
sudo
0

Nie próbowałem jeszcze treści, ale próbowałem chmod 775na folderze. Ponieważ jest własnością, root:wheelnie można go zmienić. Odniosłem się do japońskiej strony.

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

to działa dla mnie powyżej.

Jimmy MG Lim
źródło