Ich habe Homebrew jetzt dreimal deinstalliert und installiert, da es mir anscheinend nie erlaubt, etwas zu installieren, da mir am Ende der meisten Installationen die Berechtigung verweigert wird.
Als Beispiel werde ich dieses libjpeg-Download-Szenario veröffentlichen, mit dem ich derzeit konfrontiert bin.
Ich versuche libjpeg zu installieren und bekomme:
$ 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' ergibt
Error: Permission denied - /usr/local/opt/jpeg
Hier ist, was mein Brauarzt liest
$ 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 Erlaubnisproblem hat es unmöglich gemacht, Brew für irgendetwas zu verwenden, und ich würde mich über Vorschläge sehr freuen.
sudo chown -R $USER:admin /Library/Caches/Homebrew
, um meine Berechtigungsprobleme zu beseitigen.admin
die Gruppe jeden Benutzer admin (die jeder macOS Benutzerkonto Benutzer ist, kannsudo
unter anderem), so , indem Siechown -R …:admin
zusammen mitchmod -R g+w /usr/local
(wie durch @AndreaDeGaetano vorgeschlagen), werden Sie hier nichts falsch machen und Null Probleme mit andere Benutzer verwenden ebenfalls/usr/local
/brew
.Neuer Befehl für Benutzer auf macOS High Sierra , da es nicht möglich ist,
chown
auf/usr/local
:bash/zsh
::fish
::Referenz: Kann nicht / usr / local in High Sierra chown
quelle
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
, gefolgt von dem Befehl chown, wie er in dieser Antwort erscheint.Befolgen Sie als erste Option für jeden, der hier landet wie ich, was auch immer dies Ihnen vorschlägt:
Es ist der sicherste Weg, und unter anderem schlug er mir vor:
das löste das Berechtigungsproblem.
Das OP hat genau das getan, aber anscheinend den obigen Vorschlag nicht erhalten; Sie könnten, und es ist immer besser, dort zu beginnen und nur dann nach nicht trivialen Lösungen zu suchen, wenn es nicht geholfen hat.
quelle
chown: /usr/local: Operation not permitted
5. Juli 2019 keine ArbeitWenn Sie auf OSX High Sierra sind,
/usr/local
kann nicht mehr seinchown
. Sie können verwenden:sudo chown -R $(whoami) $(brew --prefix)/*
quelle
Ich hatte den
/usr/local/Frameworks
Ordner nicht, daher wurde er für mich behobenIn der ersten Zeile wird ein neuer Frameworks-Ordner erstellt, den Homebrew (Brew) verwenden kann. In der zweiten Zeile erhalten Sie für diesen Ordner Ihre aktuellen Benutzerberechtigungen, die ausreichen.
Verwendete Befehle sind wie folgt:
Ich habe OSX High Sierra
quelle
Ich hatte dieses Problem. Eine funktionierende Lösung besteht darin, den Besitz des
/usr/local
aktuellen Benutzers zu ändern , anstattroot
von:Aber das ist wirklich kein richtiger Weg. Hauptsächlich, wenn Ihr Computer ein Server oder ein Mehrbenutzer ist.
Mein Vorschlag ist, den Besitz wie oben zu ändern und alles zu tun, was Sie mit Brew implementieren möchten (aktualisieren, installieren ... usw.), und dann den Besitz wieder auf root zurückzusetzen als:
Das würde das Problem lösen und das Eigentum in der richtigen Menge halten.
quelle
Der Befehl von der Antwort mit der höchsten Stimme funktioniert bei mir nicht.
Es wurde ausgegeben:
Dieser Befehl funktioniert einwandfrei (Gruppe für / usr / local war
admin
bereits):quelle
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
Ich wollte noch nicht mit Ordnerberechtigungen herumspielen, also habe ich Folgendes getan:
brew doctor
brew upgrade
brew cleanup
Ich konnte dann meine andere Brühformel erfolgreich weiter installieren.
quelle
Wenn Sie einen etwas gezielteren Ansatz als die Decke wünschen
chown -R
, ist diesesfix-homebrew
Skript möglicherweise hilfreich:Anstatt
chmod
Ihrem Benutzer eine Antwort zu geben, erhält dieadmin
Gruppe (zu der Sie vermutlich gehören) Schreibzugriff auf die spezifischen Verzeichnisse/usr/local
, die von Homebrew verwendet werden. Außerdem erfahren Sie genau, was Sie vor dem Ausführen tun möchten.quelle
In meinem Fall existierten die / usr / local / Frameworks nicht einmal, also tat ich Folgendes:
Und dann hat alles wie erwartet funktioniert.
quelle
Dies löste das Problem für mich.
quelle
Ich habe mein Problem mit den folgenden Befehlen behoben:
quelle
Mac OS 10.13.4
In meinem Fall musste ich Python erstellensudo mkdir /usr/local/Frameworks
undsudo chown -R $(whoami) /usr/local/Frameworks
verknüpfen können!Bei einem Mehrbenutzer-Mac funktionierte dies für mich:
quelle
Alle diese Vorschläge können funktionieren. In der neuesten Version von Brew Doctor wurden jedoch bessere Vorschläge gemacht.
Erstens - beheben Sie das Chaos, das Sie wahrscheinlich bereits verursacht haben,
/usr/local
indem Sie dies in der Befehlszeile ausführen:sudo chown -R root:wheel /usr/local
Übernehmen Sie dann die Verantwortung für die Pfade, die speziell für diesen Benutzer bestimmt sind:
Alle diese Informationen sind verfügbar, wenn Sie
sudo brew update
alle Warnungen und Fehler ausführen und dann lesen, auf die Sie stoßen werden ...quelle
Bei mir hat es danach geklappt
brew doctor
Das Ändern von Berechtigungsbefehlen führte zu einem weiteren Fehler
chown: /usr/local: Operation not permitted
quelle
Es gibt ein Killerskript auf Github, das Dauerwellen in / usr / local- und Brew-Verzeichnissen korrigiert, damit jeder, der Mitglied der 'admin'-Gruppe ist, darauf zugreifen kann.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Dies ist eine bessere Lösung als die gewählte Antwort, da Sie, wenn Sie die Verzeichnisse / usr / local / ___ in $ USER umwandeln, alle anderen Administratorbenutzer von Homebrew auf diesem Computer unterbrechen.
Hier sind die Eingeweide des Skripts zu dem Zeitpunkt, als ich dies gepostet habe:
quelle
Unter MacOS Mojave hatte ich auch keine Berechtigung für
chown
den Ordner / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
hat für mich jedoch funktioniert und die Berechtigungen für alles im lokalen Ordner geändert .Hoffentlich hilft dies anderen bei demselben Problem.
quelle
Eigentlich ist es ganz einfach, führen Sie diesen Befehl aus:
brew doctor
Und es wird Ihnen sagen, was zu tun ist, um Berechtigungsprobleme zu beheben, zum Beispiel in meinem Fall:
Das war das Problem:
Und das war die Lösung:
quelle
quelle
In meinem Fall habe ich Probleme beim Entfernen und erneuten Installieren von SaltStack.
Nach dem Rennen:
Mir ist aufgefallen, dass der Gruppeninhaber "Mitarbeiter" war. (Übrigens, ich verwende macOS Mojave Version 10.14.3.) Die Mitarbeitergruppe könnte mit meiner Arbeitsplatzkonfiguration zusammenhängen, aber ich weiß es nicht wirklich. Unabhängig davon habe ich die Gruppe erhalten, um zu verhindern, dass ich etwas weiter zerbreche.
Ich rannte dann:
Danach konnte ich es mit diesem Befehl erfolgreich entfernen (nicht als root):
quelle
Wenn Sie nicht über das neueste Homebrew verfügen: Ich habe dies in der Vergangenheit "behoben", indem ich Homebrew gezwungen habe, als Root ausgeführt zu werden. Dies war nur möglich, indem der Besitz der ausführbaren Homebrew-Dateien in "root" geändert wurde. Irgendwann haben sie diese Funktion entfernt.
Und ich weiß, dass sie viele Warnungen geben werden, die besagen, dass es nicht als Root ausgeführt werden sollte, aber komm schon, sonst funktioniert es nicht richtig.
quelle
Ich habe alles auf dieser Seite ausprobiert und am Ende 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 beim OP, mein Problem wurde jedoch speziell dadurch verursacht, dass sudo mit dem Brühfass ausgeführt wurde und dann mein Passwort falsch war. Danach hatte ich keine Berechtigungen mehr, die die Installation verhinderten.
quelle
Um Fehler für Brew-Berechtigungen beim Ausführen von Ordnern zu beheben
Dadurch werden die Probleme behoben und wir müssen keine Verzeichnisse durchsuchen.
quelle
brew cleanup --prune-prefix
Ich bin auf Catalina und habe diesen Fehler erhalten:
Ich musste nur das
Homebrew
Verzeichnis durchforstenquelle
Ich habe diese beiden Befehle verwendet und mein Problem gespeichert
quelle
Versuchen Sie auch, diesen Befehl auszuführen
sudo chmod + t / tmp
quelle