it-swarm.com.de

kann/usr/local für Homebrew unter Mac OS X 10.13 High Sierra nicht erkennen

Homebrew benötigt Berechtigungen in/usr/local und da sonst niemand meinen Laptop benutzt, habe ich das immer einfach gemacht

Sudo chown -R $(whoami) $(brew --prefix)

aber in High Sierra gibt dies

chown: /usr/local: Operation not permitted

Was ist das Update?

89
Dan

Das Problem trat immer wieder auf ... nachdem ich tiefer gegraben hatte, stellte ich fest, dass das Deinstallieren von Homebrew und das erneute Installieren dieses Problems dieses Problem lösten.

Homebrew deinstallieren:

/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Dann installieren Sie es erneut:

/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
163
Uri Meirav

Leider kann man in High Sierra nicht mehr /usr/local Chownieren. Eine Problemumgehung besteht darin, Sudo mkdir /usr/local/include Und /usr/local/Frameworks Zu verwenden, wenn sie nicht vorhanden sind

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

Vielen Dank an ilovezfs für diesen einfachen Workaround und für das tolle Homebrew!

48
Dan

Sie können die Berechtigung für /usr/local Selbst nicht ändern, aber Sie können die richtige Berechtigung für darunterliegende Ordner ändern
Sudo chown -R $(whoami) /usr/local/*

27
Reza Farshi

Ich folgte this aber das Problem bleibt bestehen.
Also installierte ich homebrew neu, ohne das vorherige zu deinstallieren. Es funktioniert jetzt!
(Ich weiß nicht wie)

8
Aayush Gautam

Ich führe das einfach aus und alles wird für High Sierra erledigt:

/ usr/bin/Ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

6
Ravi OpenSource

Das aktuelle MacOS-Problem bleibt weiterhin bestehen, d. H. Mojave. Durch die Deinstallation und Neuinstallation von Homebrew wird das Problem mit den Verzeichnisberechtigungen nicht gelöst. In der Tat hat es überhaupt nichts mit der Installation von Homebrew zu tun! 

Wenn wir brew install python tun, gießt es einfach Sud-Python und versucht dann, unter/usr/local einen symbolischen Link zu erstellen, für den Brew keine Berechtigung hat. Und wenn wir versuchen, Sudo chown -R $(whoami) /usr/local auszuführen, funktioniert es nicht, da es zusätzliche Berechtigungen erfordert, die normale Mac-Benutzer (d. H. Ihr Benutzername) nicht haben. Wie @Reza in seiner answer Erlaubnis eines beliebigen Verzeichnisses erwähnt, kann es jedoch geändert werden. gib einfach folgenden Befehl aus:

Sudo chown -R $(whoami) /usr/local/*
3
Abu Shumon

Versuchen Sie, Systemintegritätsschutz zu deaktivieren. Aus der Dokumentation:

Der Systemintegritätsschutz kann mit dem Befehl csrutil (1) konfiguriert werden.

Sie können prüfen, ob System Integrity Protection derzeit in Ihrem System aktiviert ist, indem Sie den folgenden Befehl im Terminal ausführen:

$ csrutil status
System Integrity Protection status: enabled.

Um System Integrity Protection zu aktivieren oder zu deaktivieren, müssen Sie das Wiederherstellungsbetriebssystem starten und den Befehl csrutil (1) vom Terminal aus ausführen.

Starten Sie das Wiederherstellungs-Betriebssystem, indem Sie Ihren Computer neu starten und beim Starten die Befehlstaste und die R-Taste gedrückt halten. Starten Sie das Terminal über das Utilities-Menü . Geben Sie den folgenden Befehl ein: $ csrutil enable

Nach dem Aktivieren oder Deaktivieren des Systemintegritätsschutzes auf einem Computer ist ein Neustart erforderlich.

3
Elle Mundy

wenn Sie zsh verwenden, weil Sie von bash kommen, müssen Sie möglicherweise Ihren $ PATH ändern. Sie sollten export PATH=$HOME/bin:/usr/local/bin:$PATH in .zshrc hinzufügen

dann sollte es klappen, dieses problem löste mein mac auf diese weise.

1
zyqbit

Diese funktionierte von Apple Stackexchange

$ cd /usr/local
$ Sudo chown -R <your-username>:<your-group-name> *

gruppenname normalerweise staff und vergessen Sie nicht den *

1
Ahmed Younes

Ich hatte nicht den Ordner/user/local/Frameworks, daher wurde dies für mich behoben

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

Ich habe OSX High Sierra

0
ayush pathak

Stellen Sie sicher, dass für den Basisordner oder für einen Ordner, auf den eine Installation zugreifen muss, keine Sperre gesetzt ist.

Selbst wenn die Berechtigungen und der Besitz korrekt festgelegt sind und Sie derzeit mit einem korrekten Benutzer/oder Root-Benutzer angemeldet sind, können Sie keine neuen Ordner oder Verzeichnisse erstellen.

0
Daniel