Odinstalowałem i zainstalowałem Homebrew 3 razy teraz, ponieważ wydaje się, że nigdy nie pozwala mi niczego instalować, ponieważ odmawia mi uprawnień pod koniec większości instalacji.
Jako przykład opublikuję ten scenariusz pobierania libjpeg, z którym się obecnie spotykam.
Próbuję zainstalować libjpeg i uzyskać:
$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg
Wynik „brew link jpeg” powoduje
Error: Permission denied - /usr/local/opt/jpeg
Oto, co czyta mój lekarz piwowarstwa
$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
jpeg
Ten problem z uprawnieniami uniemożliwia użycie naparu do niczego i byłbym bardzo wdzięczny za wszelkie sugestie.
sudo chown -R $USER:admin /Library/Caches/Homebrew
aby pozbyć się problemów z uprawnieniami.admin
grupą jest każdy użytkownik administracyjny (czyli każdy użytkownik konta użytkownika systemu macOS, który możesudo
między innymi), więc działającchown -R …:admin
razem zchmod -R g+w /usr/local
(jak sugeruje @AndreaDeGaetano), nie zrobisz tutaj nic złego i nie będziesz mieć problemów z inni użytkownicy również używają/usr/local
/brew
.Nowe polecenie dla użytkowników systemu macOS High Sierra, ponieważ nie jest możliwe
chown
włączenie/usr/local
:bash/zsh
:fish
:Odniesienie: Nie można chown / usr / local w High Sierra
źródło
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
polecenie chown, jak pokazano w tej odpowiedzi.Jako pierwszą opcję dla każdego, kto wyląduje tutaj tak jak ja, wykonaj wszystko, co to sugeruje:
To najbezpieczniejsza ścieżka i między innymi zasugerował mi:
które rozwiązało problem z uprawnieniami.
OP właśnie to zrobił, ale najwyraźniej nie otrzymał powyższej sugestii; możesz i zawsze lepiej jest zacząć od tego i dopiero wtedy poszukaj nietrywialnych rozwiązań, jeśli to nie pomoże.
źródło
chown: /usr/local: Operation not permitted
że nie działa od 5 lipca 2019 r.Jeśli korzystasz z OSX High Sierra,
/usr/local
nie możesz już byćchown
. Możesz użyć:sudo chown -R $(whoami) $(brew --prefix)/*
źródło
Nie miałem
/usr/local/Frameworks
folderu, więc naprawiłem goPierwszy wiersz tworzy nowy folder Frameworks do użycia przez homebrew (napar). Druga linia daje temu folderowi aktualne uprawnienia użytkownika, które są wystarczające.
Użyto następujących poleceń:
Mam OSX High Sierra
źródło
Miałem ten problem. Działającym rozwiązaniem jest zmiana właściciela
/usr/local
na bieżącego użytkownika zamiastroot
:Ale tak naprawdę to nie jest właściwy sposób. Głównie, jeśli twój komputer jest serwerem lub wieloma użytkownikami.
Sugeruję, aby zmienić własność jak wyżej i zrobić wszystko, co chcesz zaimplementować w Brew .. (zaktualizuj, zainstaluj ... itd.), A następnie zresetuj własność z powrotem do roota jako:
To rozwiązałoby problem i utrzymywało własność w odpowiednim zestawie.
źródło
Polecenie z najlepiej głosowanej odpowiedzi nie działa dla mnie.
Ma wynik:
To polecenie działa dobrze (grupa dla / usr / local
admin
już była ):źródło
sudo chown -R "$USER":admin /usr/local
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
chown: /usr/local: Operation not permitted
Nie chciałem jeszcze chować z uprawnieniami do folderów, więc wykonałem następujące czynności:
brew doctor
brew upgrade
brew cleanup
Byłem wtedy w stanie kontynuować instalację mojej innej formuły parzenia.
źródło
Jeśli chcesz nieco bardziej ukierunkowane podejście niż koc
chown -R
, tenfix-homebrew
skrypt może być przydatny:Zamiast zrobić
chmod
dla użytkownika, dajeadmin
grupie (do której prawdopodobnie należysz) dostęp do zapisu do określonych katalogów/usr/local
używanych przez homebrew. Mówi także dokładnie, co zamierza zrobić przed zrobieniem tego.źródło
W moim przypadku / usr / local / Frameworks nawet nie istniał, więc zrobiłem:
A potem wszystko działało zgodnie z oczekiwaniami.
źródło
To rozwiązało przede mną problem.
źródło
Rozwiązałem problem z następującymi poleceniami:
źródło
Mac OS 10.13.4
W moim przypadku musiałem stworzyćsudo mkdir /usr/local/Frameworks
isudo chown -R $(whoami) /usr/local/Frameworks
móc połączyć Pythona!W przypadku komputera Mac z wieloma użytkownikami działało to dla mnie:
źródło
Wszystkie te sugestie mogą działać. W najnowszej wersji Brew Doctor pojawiły się jednak lepsze sugestie.
Po pierwsze - napraw bałagan, który prawdopodobnie już spowodowałeś
/usr/local
, uruchamiając go w wierszu poleceń:sudo chown -R root:wheel /usr/local
Następnie przejmij na własność ścieżki, które powinny być specjalnie dla tego użytkownika:
Wszystkie te informacje są dostępne, jeśli uruchomisz,
sudo brew update
a następnie przeczytasz wszystkie ostrzeżenia i błędy, które napotkasz ...źródło
Dla mnie to zadziałało później
brew doctor
Zmiana komend uprawnień spowodowała kolejny błąd
chown: /usr/local: Operation not permitted
źródło
Na github znajduje się skrypt zabójcy, który naprawia perms w katalogach / usr / local i brew, aby były dostępne dla każdego, kto jest członkiem grupy „admin”.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Jest to lepsze rozwiązanie niż wybrana odpowiedź, ponieważ jeśli zmienisz katalog / usr / local / ___ na $ USER, wtedy złamiesz innych użytkowników adminów homebrew na tym komputerze.
Oto wnętrzności skryptu w momencie, kiedy to opublikowałem:
źródło
Na MacOS Mojave nie miałem uprawnień do
chown
folderu / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
działało jednak dla mnie, zmieniając uprawnienia do wszystkiego wewnątrz folderze lokalnym.Mam nadzieję, że pomoże to innym osobom z tym samym problemem.
źródło
W rzeczywistości jest to bardzo proste, wykonaj następujące polecenie:
brew doctor
I powie ci, co robić, aby rozwiązać problemy z uprawnieniami, na przykład w moim przypadku:
To był problem:
To było rozwiązanie:
źródło
źródło
W moim przypadku mam problemy z usunięciem i ponowną instalacją SaltStack.
Po bieganiu:
Zauważyłem, że właścicielem grupy był „personel”. (BTW, używam macOS Mojave wersja 10.14.3.) Grupa pracowników może być powiązana z konfiguracją mojego miejsca pracy, ale tak naprawdę nie wiem. Niezależnie od tego zachowałem grupę, aby zapobiec dalszemu niszczeniu.
Potem pobiegłem:
Potem udało mi się go usunąć za pomocą tego polecenia (nie jako root):
źródło
Jeśli nie masz najnowszej wersji Homebrew: „Naprawiłem” to w przeszłości, zmuszając Homebrew do działania jako root, co można zrobić tylko poprzez zmianę własności plików wykonywalnych Homebrew na root. W pewnym momencie usunęli tę funkcję.
I wiem, że dadzą wiele ostrzeżeń, mówiąc, że nie powinien działać jako root, ale daj spokój, inaczej nie działa poprawnie.
źródło
Próbowałem wszystkiego na tej stronie, ostatecznie skorzystałem z tego rozwiązania:
brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;
Moja sytuacja była podobna do OP, jednak mój problem był spowodowany konkretnie uruchomieniem sudo z beczką naparu, a następnie nieprawidłowym hasłem. Potem utknąłem z uprawnieniami uniemożliwiającymi instalację.
źródło
Aby rozwiązać błędy dotyczące uprawnień Brew podczas uruchamiania folderu
To rozwiąże problemy i nie będziemy musieli przeglądać żadnych katalogów.
źródło
brew cleanup --prune-prefix
Jestem na Catalinie i dostałem ten błąd:
Musiałem tylko przejrzeć
Homebrew
katalogźródło
Użyłem tych dwóch poleceń i zapisałem mój problem
źródło
spróbuj także wykonać to polecenie
sudo chmod + t / tmp
źródło