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.

39voto

timgavin Punkte 4257

Dies hat bei mir 2022 auf einem M1 Mac mit Monterey funktioniert

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

32voto

Karl Johan Vallner Punkte 3571

Ich hatte nicht den /usr/local/Frameworks Ordner, also hat mir das geholfen

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

Die erste Zeile erstellt einen neuen Frameworks-Ordner für Homebrew (Brew). Die zweite Zeile gibt diesem Ordner die Berechtigungen Ihres aktuellen Benutzers, die ausreichen.

Verwendete Befehle sind wie folgt:

mkdir - Verzeichnisse erstellen [-p kein Fehler bei vorhandenen, Elternverzeichnisse falls erforderlich erstellen]

chown - Dateibesitzer und Gruppe ändern [-R rekursiv auf Dateien und Verzeichnisse anwenden]

whoami - aktuelle Benutzerkennung ausgeben

Ich habe OSX High Sierra

28voto

Maher Abuthraa Punkte 16550

Ich hatte dieses Problem .. Eine Arbeitslösung besteht darin, den Besitz von /usr/local für den aktuellen Benutzer anstatt von root zu ändern, indem Sie:

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

Aber wirklich ist das nicht der richtige Weg. Vor allem, wenn Ihr Rechner ein Server oder mehrere Benutzer sind.

Mein Vorschlag ist, den Besitz wie oben beschrieben zu ändern und alles zu implementieren, was Sie mit Brew machen möchten .. (aktualisieren, installieren ... usw.), dann den Besitz wieder auf root zurücksetzen als:

  sudo chown -R root:admin /usr/local

Das würde das Problem lösen und den Besitz richtig setzen.

16voto

Cat Punkte 171

Dies hat für mich funktioniert:

sudo chown -R "$USER":admin /usr/local/Cellar/*
brew cleanup

15voto

skywinder Punkte 20873

Befehl aus der am besten bewerteten Antwort hat bei mir nicht funktioniert.

Es wurde folgende Ausgabe erhalten:

chown: /usr/{my_username}dmin: ungültiger Benutzername

Dieser Befehl funktioniert einwandfrei (Gruppe für /usr/local war bereits admin):

sudo chown -R $USER /usr/local

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