2012-03-21 15 views
38

Mam standardową homebrew zainstalować wewnątrz usr/local/Homebrew zainstalować uprawnienia problem

Kiedy próbuję:

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

I kiedy używać sudo:

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

Czym jestem robić źle?

+0

Można 'sudo napar install' ale najpierw trzeba zmienić uprawnienia browaru, więc jest własnością root. To jest zabezpieczenie. – mxcl

+0

Wygląda na to, że poniższa metoda zmienia uprawnienia narzędzia do parzenia, czy mam rację? –

+0

Nie, nie ma. – mxcl

Odpowiedz

119

Masz jakieś ograniczone uprawnienia do /usr/local/Cellar. Brew nie lubi instalować z sudo, dlatego odmawia.

Sprawdź uprawnienia:

ls -ld /usr/local/Cellar

otworzyć je na piśmie:

sudo chmod a+w /usr/local/Cellar

+1

Nicea, widziałem inne metody, takie jak zmienia właściciela/usr/local/piwnicy WhoAmI lub grupy Umożliwienie pisać na/usr/local – orlybg

+6

Potem dostał 'Error: Permission denied -/Library/Caches/Homebrew/Formula/... 'i rozwiązany przez' sudo chmod -R a + w/Library/Caches/Homebrew' – gfpacheco

+0

Dzięki @gfpacheco – Lukas

5

Chciałbym zmienić uprawnienia Grupa:

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

zakładając, że użytkownik konto jest w reklamie grupowej min.

9

Nie należy używać sudo podczas pracy z brew (ze względów bezpieczeństwa).

Musisz ustawić swoje uprawnienia.

Więc chciałbym pójść dalej i zmienić uprawnienia do:

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

a następnie zastosować konkretną grupę (albo admin lub staff) do użytkownika, który powinien mieć prawo do stosowania polecenia brew. Sprawdź grupy użytkowników za pomocą: id -Gn).

Jeśli występują dalsze problemy, uruchom: brew doctor, aby zobaczyć, co jest nie tak.

1

Dzieje się tak również, jeśli na komputerze jest wielu użytkowników. Jeśli tak, najlepiej jest zmienić użytkownika, ponieważ każde inne podejście powodowałoby kłopot z większą liczbą plików i folderów niż tylko/usr/local/Cellar

Użyj su userWhoInstalledBrew.

0

Problem może być rozwiązany przez zmianę właściciela katalogu do bieżącego użytkownika:

sudo chown -R $USER /usr/local 

Ta odpowiedź jest pobierany od: https://github.com/Homebrew/homebrew/issues/17884

+0

Aktualizacja dla użytkowników High Sierra, '/ usr/local' nie może już być' chown'ed (patrz [tutaj] (https://github.com/Homebrew/brew/issues/3228)). Użytkownicy High Sierra mogą również być zmuszeni do ponownego zainstalowania Homebrew. –

Powiązane problemy