nie można chown / usr / local dla homebrew w systemie Mac OS X 10.13 High Sierra


118

Homebrew potrzebuje uprawnień w / usr / local, a ponieważ nikt inny nie używa mojego laptopa, zawsze to robiłem

sudo chown -R $(whoami) $(brew --prefix)

ale w High Sierra to daje

chown: /usr/local: Operation not permitted

Jaka jest poprawka?


Rozwiązane za pomocą: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Odpowiedzi:


218

Problem nadal występował ... po głębszym kopaniu stwierdziłem, że tylko odinstalowanie Homebrew i ponowne zainstalowanie go rozwiązało problem.

Odinstaluj Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Następnie zainstaluj go ponownie:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4
był to jedyny sposób na naprawienie mojego homebrew po aktualizacji "High" Sierra. mój błąd brzmiał: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib i sudo chown -R $(whoami) $(brew --prefix)/* nie pomogło ...
gh4x

Nie do wiary. Niepowodzenie za pierwszym razem, odinstalowanie skryptu nie powiodło się, druga instalacja zadziałała.
GreenAsJade

Możesz brew listnajpierw zapisać wynik programu w pliku, aby mieć zapis, jakie pakiety zostały zainstalowane.
Giles Gardam

1
Żadna z innych poprawek homebrew Mojave nie działałaby w moim systemie. Odinstaluj / Ponowna instalacja działała idealnie.
pkamb

2
Działa również z Cataliną
Gefilte Fish.

52

Niestety nie możesz już chownować /usr/localw High Sierra. Rozwiązaniem jest, sudo mkdir /usr/local/includea /usr/local/Frameworksjeśli nie istnieją, i

sudo chown -R $(whoami) $(brew --prefix)/*

Dzięki ilovezfs za to proste obejście i za niesamowity homebrew!


9
Wciąż nie działa. Błąd aktualizacji $ brew: w katalogu / usr / local nie można zapisywać.
Laurence Cope

Spróbuj odinstalować i ponownie zainstalować Homebrew: stackoverflow.com/questions/46459152/ ...
ruggershawn

jak skomentowałem w innym miejscu, odinstalowanie usuwa WSZYSTKIE twoje pakiety brew.
jaydel

$(brew --prefix)powinien ocenić /usr/local/, jak sądzę.
Jordan Stewart

33

Nie możesz zmienić uprawnień dla /usr/localsiebie, ale możesz zmienić odpowiednie uprawnienia dla folderów pod spodem, więc naprawiło to
sudo chown -R $(whoami) /usr/local/*


1
Wciąż ten sam problem
Laurence Cope

2
Działa na MacOS High Sierra. Pracował. Dzięki.
Prince Odame

2
Pracował dla mnie na: macOS High Sierra 10.13.6
Gail Parsloe

8

Postępowałem zgodnie z tym, ale problem nadal występuje.
Więc przeinstalowałem homebrew bez odinstalowywania poprzedniego. Już działa!
(Nie wiem jak)


3
Polecam całkowicie odinstalować Homebrew, a następnie zainstalować go ponownie.
k1r8r0wn

Wiele zainstalowanych działało, nie mogłem tego naprawić, dopóki nie odinstalowałem.
cbowns

odinstalowanie wszystkiego schrzani. Mam mnóstwo zainstalowanych pakietów i będę musiał przejść przez nie i zainstalować je od nowa. Niestety to wszystko działało wcześniej, ponieważ MAM te pakiety.
jaydel


3

Spróbuj wyłączyć Ochronę integralności systemu . Z dokumentacji:

Ochronę integralności systemu można skonfigurować za pomocą polecenia csrutil (1).

Możesz sprawdzić, czy ochrona integralności systemu jest obecnie włączona w systemie, uruchamiając następujące polecenie w terminalu:

$ csrutil status
System Integrity Protection status: enabled.

Aby włączyć lub wyłączyć ochronę integralności systemu, należy uruchomić system operacyjny Recovery i uruchomić polecenie csrutil (1) z terminala.

Uruchom system operacyjny Recovery, uruchamiając ponownie komputer i przytrzymując klawisze Command i R podczas uruchamiania. Uruchom Terminal z menu Narzędzia. Wpisz następujące polecenie: $ csrutil enable

Po włączeniu lub wyłączeniu Ochrony integralności systemu na komputerze wymagane jest ponowne uruchomienie.


Chociaż może to teoretycznie odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj zasadnicze części odpowiedzi i podać link do odniesienia.
Jake Symons

3
To trochę jak zdejmowanie osłony z piły stołowej. Działa i czasami może być konieczne, ale jest bezpieczniejsze, jeśli nie musisz tego robić. Ustawienie siebie jako właściciela / usr / local, aby homebrew działało, i tak zawsze wydawało się hackem.
Caleb

3
Jest to wysoce odradzane! Jest to niezwykle niebezpieczne, chyba że użytkownik nie robi tego, co robi.
Abu Shumon

@oligofren: D: D: D daj spokój stary. Spokojnie, to nie jest angielski word in contextkonkurs. : D: D Flaga ostrzegająca użytkownika. Ale w porządku, więc podchwycisz dla mnie sformułowania: p: p
Abu Shumon

1

jeśli używasz zsh, ponieważ pochodzisz z bash, być może będziesz musiał zmienić $ PATH. powinieneś dodać export PATH=$HOME/bin:/usr/local/bin:$PATH w .zshrc

to powinno działać, ten problem został rozwiązany w moim Macu w ten sposób.


1

Jestem też na 10.13 High Sierra. Wypróbowałem poprzednie sugestie; nic nie działało. Ostatecznie najpierw spróbowałem zainstalować narzędzia wiersza poleceń :

xcode-select --install

a następnie (ponownie) uruchom polecenie brew install:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

i wreszcie zadziałało.


0

Upewnij się, że nie masz ustawionej blokady w folderze domowym ani żadnym folderze, do którego instalacja wymaga dostępu.

Nawet jeśli uprawnienia i własność są ustawione poprawnie i jesteś aktualnie zalogowany z poprawnym użytkownikiem / lub użytkownikiem głównym, nie pozwoli ci to na tworzenie nowych folderów lub katalogów.


0

Nie miałem folderu / user / local / Frameworks, więc to naprawiło to za mnie

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

Mam OSX High Sierra


0

to jest Kaushik. Używam MacBooka Pro macOS Catalina 10.15.4. Utworzyłem nowe konto administratora, ale brew wyrzucał błąd. Dlatego podążyłem za krokiem od tego postu. co zadziałało to:

sudo chown -R $ (whoami) $ (brew --prefix) / *

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.