Ich habe versucht, Homebrew zum Laufen zu bringen, aber es scheint, dass alles darin /usr/local
nicht beschreibbar ist und alles umfällt.
Es sagt mir immer wieder, dass ich es rekursiv tun chown
/usr/local
soll, und das habe ich versucht. Operation verweigert, also habe ich es sudo gemacht. Es schien zu funktionieren, aber mit einer unheimlichen Stille, die ich höre, wird in Unix als höflich angesehen. Leider stoßen alle nachfolgenden Versuche auf brew update
die gleiche Kakophonie von Fehlern.
Ich habe den Befehl mit erneut ausgeführt -v
und es sieht so aus, als ob die Operation für nichts im Inneren zulässig ist.
So sehr die Antwort wahrscheinlich "Lernen Sie UNIX" lautet, ich versuche nur, einige Jobanforderungen hier für ein Tutorial zu Ruby zu erfüllen, das ist also ein paar Schritte über dem, wo ich gerade bin.
brew doctor
:
Warning: /usr/local/Frameworks isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/Frameworks
Warning: /usr/local/Cellar isn't writable.
You should `chown` /usr/local/Cellar
Warning: /usr/local/etc isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/etc
Warning: /usr/local/include isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/include
Warning: /usr/local/lib isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/lib
Warning: /usr/local/lib/pkgconfig isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/lib/pkgconfig
Warning: /usr/local/opt isn't writable.
You should `chown` /usr/local/opt
Warning: /usr/local/share isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/share
Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `chown` them:
/usr/local/share/man
/usr/local/share/man/man1
/usr/local/share/man/man3
/usr/local/share/man/man5
/usr/local/share/man/man7
/usr/local/share/man/man8
Warning: /usr/local/var isn't writable.
This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably `chown` /usr/local/var
Dies sollte gelöst werden, indem die Berechtigungen in diesem Verzeichnis auf folgende Weise geändert werden:
$ cd /usr/local
$ sudo chown -R <your-username>:<your-group-name> *
Wenn Sie Ihre Gruppe nicht kennen, geben Sie einfach ein id -g
.
-R
, es rekursiv zu machen. Und Sie müssen wahrscheinlich die chown
Verwendung von tun sudo
. Für die Benutzergruppe verwende ich normalerweise staff
OS X.Sie müssen sudo verwenden , um den Befehl mit erhöhten Rechten auszuführen, wie folgt:
sudo chown -R `whoami` /usr/local/*
sudo chown -R (whoami) /usr/local
sudo chown -R `whoami` /usr/local/*
Ich war gestern mit macOS 10.13.4 mit diesem Problem konfrontiert und habe versucht, sudo chgrp -R admin /usr/local
oder sudo chown -R <your-username>:<your-group-name> /usr/local
die Operation not permitted
Fehlermeldung zu erhalten, obwohl ich sie verwendet habesudo
Also habe ich versucht, nur chgrp
für Homebrew
verwandte Ordner zu admin
(Mein Benutzer ist in der admin
Gruppe, abhängig von dem Benutzer, den Sie ausführen, müssen Sie möglicherweise zu einer anderen Gruppe wechseln) und der admin
Gruppe mit diesen Befehlen Schreibzugriff auf diese Ordner zu gewähren
sudo chgrp -R admin /usr/local/Homebrew/
sudo chmod -R g+w /usr/local/Homebrew/
sudo chgrp -R admin /usr/local/var/homebrew/
sudo chmod -R g+w /usr/local/var/homebrew/
Nachdem ich diese Befehle ausgeführt habe, kann ich problemlos ein neues Paket installieren. Wenn Sie erneut auf ein Berechtigungsproblem stoßen, versuchen Sie, die ersten beiden Befehle auszuführen, indem Sie den Ordnernamen durch den Namen ersetzen, bei dem Sie auf ein Berechtigungsproblem stoßen.
Ich hoffe, dies wird den anderen Benutzern mit macOS 10.13 helfen.
Hinweis: Auch wenn das Ändern des Eigentümers für
/usr/local
oder das Ändern der Gruppe von/usr/local
und das Gewähren des Zugriffs für Ihre Gruppe funktionieren könnte, sollten Sie dies NIEMALS tun, da Sie auch den anderen nicht verwandten Ordner ändern. Das Ändern der benötigten Ordner ist viel sicherer.
Die Antwort von Reza in dieser Frage hat für mich funktioniert:
sudo chown -R $(whoami) /usr/local/*
Sie können die Berechtigung für /usr/local selbst nicht ändern, aber Sie können die rechte Berechtigung für darunter liegende Ordner ändern
Um die Berechtigungsprobleme in den Verzeichnissen zu lösen, können wir den folgenden Befehl ausführen:
brew prune
brew prune
wurde durch ersetzt und wird nun als Teil von ausgeführtbrew cleanup
Es hat für mich funktioniert.
sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local
Jan C.
brew doctor
Ihnen etwas Nützliches? Poste die Ausgabe hier.Tigt
Tigt
acobster
brew update
und habe festgestellt, dass "Homebrew nicht mehr Eigentümer von /usr/local" sein muss. Weitere Informationen in dieser Frage . Um an diesen Punkt zu gelangen, müssten Sie natürlich die Berechtigungen auf /usr/local vorübergehend aktualisieren :)JobHunter69