Während der Installation tig
, HomeBrew
wird die Anzeige der folgenden Probleme während einer Abhängigkeit der Installation:
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.
You can try again using:
brew link asciidoc
Antworten:
Nach Alex 'Antwort konnte ich dieses Problem lösen. Dies scheint ein Problem zu sein, das nicht spezifisch für die zu installierenden Pakete ist, sondern für die Berechtigungen von
homebrew
Ordnern.Bei einigen Paketen müssen Sie dies möglicherweise auch tun für
/usr/local/share
oder/usr/local/opt
:quelle
sudo chown -R
whoami:admin /usr/local/bin
nicht gleichbedeutend mit dem Befehl in der Antwort, ohne dass Sie ihn durchyourusename
Ihren tatsächlichen Benutzernamen ersetzen müssten?usr/local/opt
rekursiv chown . Danach hat es funktioniert./usr/local/bin
scheinen die Berechtigungen von (und Freunden) aufdrwxr-xr-x+
undroot wheel
jeden Tag zurückzugreifen. Ich muss die Dauerwellen jedes Mal neu konfigurieren, wenn ich möchtebrew install
. Ich gehe davon aus, dass das Betriebssystem die Dauerwellen zurücksetzt, um mich zu schützen. Wie kann ich dafür sorgen, dass es aufhört? (Ich habe es versucht,chflags uchg …
aber das verhindert die Installation vonAnstatt einen bestimmten Befehl auszuführen, würde ich empfehlen
brew doctor
, alle Warnungen auszuführen und ernst zu nehmen. Es kann andere Probleme geben, bei denen Sie stecken bleiben und die in dieser Frage möglicherweise nicht erfasst werden.Wenn das Gebräu mit der Zeit aktualisiert wird, können bestimmte Befehle gültig bleiben oder auch nicht.
brew doctor
Dies stellt jedoch sicher, dass Sie über die aktuelle Fehlerbehebung verfügen.quelle
brew doctor
Das Problem wird nicht behoben, es wird Ihnen nur darüber berichten, und wenn Sie den Rat des Arztes befolgen, sagt Brew, dass es das nicht kann. Das ist keine LösungDie anderen Antworten sind zwar richtig, aber sie beantworten nicht, warum dieses Problem auftreten könnte und wie diese Grundursache behoben werden kann.
Ursache
Es gibt zwei mögliche Ursachen für dieses Problem:
brew doctor
, die vorgeschlagen wird, wenn Sie es ausführen.Lösung
Multiuser Homebrew
Wenn Sie über mehrere Benutzerkonten verfügen und möchten, dass mehr als eines von ihnen Brew verwenden kann, müssen Sie einige Schritte ausführen. Andernfalls müssen Sie bei jedem Benutzerwechsel ständig den Besitz der Homebrew-Dateistruktur ändern. und das ist keine gute idee.
Detaillierte Anweisungen finden Sie online , aber die schnelle Antwort lautet:
Erstellen Sie eine Gruppe mit dem Namen "Brauen":
sudo chgrp -R brew /usr/local
sudo chmod -R g+w /usr/local
sudo chgrp -R brew /Library/Caches/Homebrew
sudo chmod -R g+w /Library/Caches/Homebrew
Einzelbenutzer-Homebrew
Wenn Sie nicht versuchen, mehr als einen Benutzer mit Homebrew zu verwenden, ist die Lösung, die die anderen Antworten auf der Grundlage der Vorschläge von bereitstellen,
brew doctor
wahrscheinlich ausreichend:sudo chown -R $(whoami) /usr/local
sudo chown -R $(whoami) /Library/Caches/Homebrew
Nachprüfung
Nach diesen Schritten
brew doctor
sollte jeder Benutzer in der Braugruppe über den Erfolg berichten , vorausgesetzt, Sie haben sich abgemeldet und wieder angemeldet, um die neuen Gruppenmitgliedschaften anzuwenden (wenn Sie die Mehrbenutzerroute gewählt haben). Wenn Sie nur die Korrekturen für Homebrew für Einzelbenutzer korrigiert haben, sollte das Abmelden und erneute Anmelden nicht erforderlich sein, da sich keine Ihrer Gruppenmitgliedschaften geändert hat.quelle
/usr/local/bin
gruppenbeschreibbar, insb. in einer Mehrbenutzerumgebung. Ist das wirklich der "offizielle" Brauweg?Für diejenigen, die suchen,
/usr/local/sbin
ist kein beschreibbarer Fehler:UPDATE: Es könnte
/usr/local/someOtherFolderName
zB sein/usr/local/include
. Sie müssen diesen Ordner nur erstellen mit:sudo mkdir someOtherFolderName
Erstellen Sie zuerst den
sbin
Ordner. Beachten Sie, dass hierfürsudo
Berechtigungen erforderlich sindcd /usr/local
sudo mkdir sbin
sudo chown -R $(whoami) $(brew --prefix)/*
brew link yourPackageName
quelle
PATH=$PATH:/usr/local/sbin
Ich fand für mein spezielles Setup die folgenden Befehle funktionierend
Und dann zeigte mir das, wo meine Fehler waren, und dann dieser etwas andere Befehl als der obige Kommentar.
quelle
brew doctor
brew doctor
ist gut.Ich habe das gleiche Problem gefunden, das wir in drei Schritten lösen können:
Schritt 1
Schritt 2
Schritt 3
Wenn Sie immer noch ein Verbindungsproblem haben,
mysql
schreiben Sie einfachDas wird funktionieren.
quelle
Für diejenigen, die auf dieses Problem stoßen (gewährt 4 Jahre nach Erstellung dieses Beitrags), während sie Mac OS High Sierra ausführen - die hier beschriebenen Schritte haben das Problem für mich gelöst. Im Wesentlichen wird nur die Deinstallation und Neuinstallation von Brew beschrieben.
https://medium.com/@mrkdsgn/brew-error-on-macos-high-sierra-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4
Nachdem Sie diese Schritte ausgeführt haben, haben Sie
brew link
wie ein Zauber gearbeitet!quelle
Für mich war die Lösung zu laufen
brew update
.Also, mach das zuerst.
Dies mag für Leute, die mit Homebrew vertraut sind, normal sein, aber ich bin keiner dieser Leute.
Bearbeiten: Ich habe festgestellt, dass ich ein Update durchführen muss, indem ich
brew doctor
wie in der Antwort von @ kinnth auf dieselbe Frage vorgeschlagen ausgeführt habe.Ein allgemeiner Workflow zur Fehlerbehebung könnte folgendermaßen aussehen: 1. Führen Sie
brew update
2. aus, wenn dies nicht zur Ausführung beiträgt,brew doctor
und befolgen Sie die Anweisungen. 3. Wenn dies nicht zur Überprüfung des Stapelüberlaufs beiträgtquelle
Während des Brew Link Node habe ich außerdem die folgenden Probleme bekommen:
Fehler: Der Symlink include / node / usr / local / include konnte nicht beschrieben werden.
Verknüpfen von /usr/local/Cellar/node/9.3.0 ... Fehler: Berechtigung verweigert @ dir_s_mkdir - / usr / local / lib
Um das oben genannte Problem zu lösen, gehen Sie einfach zu / usr / local / und überprüfen Sie die Verfügbarkeit der Ordner 'include' und 'lib'. Wenn diese Ordner nicht verfügbar sind, erstellen Sie sie einfach manuell.
Führen Sie den Brew Install Node erneut aus
quelle
Dies liegt daran, dass der aktuelle Benutzer nicht in diesen Pfad schreiben darf . Um die R / W-Berechtigungen (Lesen / Schreiben) zu ändern, können Sie entweder das 1. Terminal oder das 2. grafische Fenster "Get Info" verwenden.
1. Terminal verwenden
Google verwendet die Befehle chmod / chown (Modus ändern / Besitzer ändern) vom Terminal
2. Verwenden Sie die grafische 'Get Info'
Sie können mit der rechten Maustaste auf den Ordner / die Datei klicken, für die Sie die Berechtigungen ändern möchten, und dann Informationen abrufen öffnen. Daraufhin wird ein Fenster wie das folgende angezeigt, in dem Sie die R / W-Berechtigungen einfach ändern können:
Denken Sie daran, die Berechtigung nach Ihrer vorübergehenden Arbeit nach Möglichkeit wieder auf "schreibgeschützt" zu ändern
quelle
Ich habe Folgendes für Sophos Anti-Virus-Benutzer relevant gefunden:
https://stackoverflow.com/a/32981184
https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029
Kurz gesagt, Sophos ändert die Berechtigungen bestimmter / usr / local-Verzeichnisse. Sophos hat dies gepatcht und das Update ist in Version 9.4.1 enthalten.
quelle
Mein Problem war
chown
hat nicht geholfen, aber ich habe die laufendenbrew doctor
Ratschläge befolgt und diese Warnung hat mir geholfen:Nach
brew prune
allem hat gut funktioniert!quelle
Für diejenigen, die nicht vertraut sind:
quelle
Wenn Sie im Finder zu dem Ordner gehen, klicken Sie mit der rechten Maustaste und wählen Sie "Informationen abrufen". Sie können zum Abschnitt "Freigabe und Berechtigungen" für den Ordner gehen und "Lesen & Schreiben" für "Alle" zulassen.
Dies ist, was ich tue, um Symlinks mit diesem Fehler passieren zu lassen. Außerdem scheint Brew die Berechtigungen für den Ordner zurückzusetzen, auch als hätten Sie nichts geändert
quelle
Wenn Sie bereits ein Verzeichnis
/usr/local
für das zu installierende Paket haben, können Sie versuchen, dieses Verzeichnis zu löschen.In meinem Fall hatte ich zuvor das Paket installiert, das ich ohne Brew installieren wollte, und es dann deinstalliert. Von
/usr/local/<my_package>/
dieser vorherigen Installation war noch ein Verzeichnis übrig. Ich habe diesen Ordner (sudo rm -rf /usr/local/<my_package>/
) gelöscht und danach war der Brew Link-Schritt erfolgreich.quelle