806 Stimmen

Wie repariere ich Homebrew-Berechtigungen?

Ich habe Homebrew jetzt schon 3 Mal deinstalliert und installiert, weil es mir anscheinend nie erlaubt, irgendetwas zu installieren, da es mir am Ende der meisten Installationen Berechtigungen verweigert.

Als Beispiel werde ich hier das aktuelle Szenario des Libjpeg-Downloads posten, mit dem ich gerade konfrontiert bin.

Ich versuche, libjpeg zu installieren und erhalte:

$ 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

'brew link jpeg' führt zu

Error: Permission denied - /usr/local/opt/jpeg

Hier ist, was mein Brew-Doktor sagt

$ 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

Dieses Berechtigungsproblem macht es unmöglich, Brew für irgendetwas zu nutzen, und ich würde mich über jede Empfehlung sehr freuen.

0voto

Catto Punkte 5991

Um Fehler bei den Brew-Berechtigungen im Ordner zu beheben, führen Sie aus

brew prune

Dadurch werden die Probleme behoben und wir müssen keine Verzeichnisse chownen.

0voto

Alpha G33k Punkte 1489

Ich habe alles auf dieser Seite ausprobiert und schließlich diese Lösung verwendet:

brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;

Meine Situation war ähnlich wie die des OP, allerdings wurde mein Problem speziell durch die Verwendung von sudo mit brew cask verursacht und dann habe ich mein Passwort falsch eingegeben. Danach war ich mit Berechtigungen konfrontiert, die die Installation verhinderten.

0voto

devinbost Punkte 4162

In meinem Fall hatte ich Probleme beim Entfernen und Neuinstallieren von SaltStack.

Nachdem ich ausgeführt hatte:

ls -lah /usr/local/Cellar/salt/

Stellte ich fest, dass der Gruppenbesitzer "staff" war. (Übrigens, ich benutze macOS Mojave Version 10.14.3.) Die staff Gruppe könnte mit meiner Arbeitsplatzkonfiguration zusammenhängen, aber das weiß ich nicht genau. Trotzdem habe ich die Gruppe beibehalten, um weiteres versehentliches Brechen zu vermeiden.

Dann habe ich ausgeführt:

sudo chown -R "$USER":staff /usr/local/Cellar/salt/

Danach konnte ich es erfolgreich mit folgendem Befehl entfernen (nicht als root):

brew uninstall --force salt

0voto

Marco Aprea Punkte 349

Ich habe diese beiden Befehle verwendet und mein Problem gespeichert

sudo chown -R $(whoami) /usr/local

sudo chown -R $(whoami) /usr/local/etc/bash_completion.d /usr/local/lib/python3.7/site-packages /usr/local/share/aclocal /usr/local/share/locale /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/locks

0voto

sudo Punkte 5055

Wenn Sie nicht die neueste Homebrew haben: In der Vergangenheit habe ich dies behoben, indem ich Homebrew zwang, als root auszuführen, was nur durch Ändern des Besitzes der Homebrew-Ausführungsdateien zu root möglich war. Irgendwann haben sie dieses Feature entfernt.

Und ich weiß, dass sie viele Warnungen geben werden, dass es nicht als root ausgeführt werden sollte, aber kommt schon, ansonsten funktioniert es nicht richtig.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X