Was ist der beste / sicherste Weg, um Homebrew neu zu installieren?

77

Ich erhalte Probleme mit Berechtigungen in Homebrew: Nachdem ich Node installiert und versucht habe, npm mit dem Befehl curl zu installieren, den Homebrew Ihnen zur Verwendung auffordert, schlägt dies aufgrund von EACCESS-Fehlern fehl. Ich überprüfte den Knotenordner und die Berechtigungen waren a) nicht im Besitz eines Benutzers (ich musste ihn chown) und b) hatten keine Schreibberechtigungen (ich musste ihn chmod 755).

Ich habe das Problem mit NPM behoben, musste aber das Installationsskript als sudo ausführen (was schlecht ist!).

Ich gehe davon aus, dass ich Homebrew als Root oder ähnliches installiert habe. Ich hoffe, dass die Neuinstallation das Problem beheben wird, aber ich kann keine Quelle für die Neuinstallation von Homebrew finden.

Wenn ich das Installationsprogramm im Terminal erneut ausführe, wird Folgendes angezeigt:

/usr/local/.git already exists!
AndrewKS
quelle
Ich habe den gleichen Fehler gemacht, Brew mit Root sudo chown -R johndoe /usr/local/Librarysudo chgrp -R admin /usr/local/Library
auszuführen
Ich habe mein / usr / local / bin / Brew-Bash-Skript vermasselt, den Code, der zu diesem Skript gehört, buchstäblich verloren und das Installationsskript erneut ausgeführt, um das Problem zu beheben.
Devin G Rhode

Antworten:

38

Versuchen Sie, den Befehl auszuführen, brew doctor und teilen Sie uns mit, welche Art von Ausgabe Sie erhalten


edit: Und um die Titelfrage zu beantworten, ist dies aus ihren FAQ :

Homebrew schreibt keine Dateien außerhalb seines Präfixes. Im Allgemeinen können Sie also nur rm -rfden Ordner verwenden, in dem Sie ihn installiert haben.

Daher sollte eine saubere Neuinstallation (gemäß den zuletzt empfohlenen Schritten) die beste Wahl sein.

Kayge
quelle
Das einzige Problem ist, dass mein Xcode veraltet ist. Aber nachdem ich "Brew Install Node" ausgeführt hatte, waren die Berechtigungen für den Ordner "node_modules" aus dem Ruder gelaufen. Ich werde das zu meiner Frage hinzufügen, weil ich vielleicht nach der falschen Antwort suche.
AndrewKS
Hmm ja, das könnte möglicherweise seine eigenen Probleme verursachen. Gibt es einen Grund, Xcode (und die Befehlszeilentools für Xcode) nicht zu aktualisieren?
Kayge
Es ist ein sehr kleiner Sprung - von 3.2.4 auf 3.2.6 und ich hatte nicht die Zeit und Bandbreite, um die gesamte 4-GB-Datei herunterzuladen (wird heute Abend über Nacht
funktionieren
Frage zu Ihrer Antwort - was ist mit Fässern? Es sieht so aus, als ob es nur ein paar kaputte Symlinks gibt, wenn ich nur die Fässer rm -rf. Z.B. 'welcher Knoten' gibt '/ usr / local / bin / node' zurück, was ein Symlink zum Knotenbefehl in Homebrews Keller ist.
AndrewKS
1
Beachten Sie, dass "der Ordner, in dem Sie es installiert haben" normalerweise /usr/localist und der Benutzer möglicherweise andere Dinge als Homebrew dort installiert hat, da dies der Standardort für die Installation benutzerdefinierter Unix-Dienstprogramme ist. Ich installiere Homebrew /usr/homebrewspeziell in einem eigenen Verzeichnis, damit es leicht entfernt und neu erstellt werden kann, brew doctorwarne jedoch davor, dass ein nicht standardmäßiger Installationsort Probleme verursachen kann. So weit, ist es gut.
Nelson
101

Aktualisieren Sie den 11.10.2020, um die neuesten Änderungen am Gebräu widerzuspiegeln.

Brew Geben Sie bereits einen Befehl zum Deinstallieren ein:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

Wenn Sie diesen Befehl aufgrund einer Berechtigung nicht ausführen konnten (z. B. als zweiter Benutzer ausführen), führen Sie ihn erneut mit sudo aus

Dann können Sie erneut installieren:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Ming C.
quelle
jenkins $ ruby ​​-e "$ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install )" Für dieses Skript muss der Benutzer ein Administrator sein. jenkins $ sudo ruby ​​-e "$ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install )" Passwort: Führen Sie dies nicht als root aus!
Sazzad Hissain Khan
Istalling gab den Fehler "Für dieses Skript muss der Benutzer ein Administrator sein." Obwohl der Benutzer bereits Admin ist. Bitte helfen Sie.
Sazzad Hissain Khan
Dies sollte die Antwort sein!
Trusktr
2
Bemerkenswert: Wenn Sie das Deinstallationsskript ausführen, wird alles, was Sie jemals mit Homebrew installiert haben, vollständig zerstört.
Adrian
1
Der obige Installationsbefehl ist veraltet. Versuchen Sie/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Anggrayudi H
49

Der Vorgang besteht darin, mit den folgenden Befehlen zu bereinigen und anschließend neu zu installieren:

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

Anmerkungen:

William Entriken
quelle
3
Das war fast genug für mich. Ich musste auch rennen: brew doctor Und seinem Rat folgen, der das Laufen beinhaltete. brew prune Der Schritt zum Beschneiden war in meinem Fall der kritische. Anscheinend hat die Bereinigung des Gebräus nicht alle toten Symlinks aus / usr / local / bin entfernt, und das Durchführen wurde brew install inkscapedadurch wirklich verwirrt.
stämmig
1
Die Installations-URL wurde geändert in: raw.githubusercontent.com/Homebrew/install/master/install
Sebastian N.
Fehler, This script requires the user to be an Administrator.obwohl der Benutzer bereits ein Administrator ist. Können Sie bitte helfen.
Sazzad Hissain Khan
Es ist seltsam. Ich habe HomeBrew installiert und Command Brew funktioniert, aber ich habe nicht den Kellerordner.
Nijat2018
1
Der Installationslink verwendet jetzt auch bash:bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
kip2
10

Für Mac OS X Mojave und höher

Führen Sie den folgenden Befehl aus, um Homebrew zu deinstallieren:

sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Führen Sie den folgenden Befehl aus, um Homebrew zu installieren:

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

Wenn Sie auf das Problem "Berechtigung verweigert" stoßen, versuchen Sie, diesen Befehl gefolgt vom Installationsbefehl erneut auszuführen:

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*
Ansari
quelle
Laut dem Installationslink unter raw.githubusercontent.com/Homebrew/install/master/install verwenden sie jetzt bash anstelle von ruby -e, daher lautet der Installationsbefehl jetzt:bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
kip2
Musste noch / usr / local / Homebrew entfernen, um vollständig zu deinstallieren.
Justin Geeslin
8

Die Möglichkeit, Homebrew neu zu installieren, besteht darin, es vollständig zu entfernen und von vorne zu beginnen. Die Homebrew-FAQ enthalten einen Link zu einem Shell-Skript zum Deinstallieren von Homebrew.

Wenn das einzige, in dem Sie installiert haben, /usr/localHomebrew selbst ist, können Sie es einfach rm -rf /usr/local/* /usr/local/.gitlöschen. Ist /usr/local/aber das Standard-Unix-Verzeichnis für alle zusätzlichen Binärdateien, nicht nur für Homebrew, sodass Sie möglicherweise andere Dinge dort installiert haben. In diesem Fall uninstall_homebrew.shist eine bessere Wette. Es wird darauf geachtet, nur die Dateien von Homebrew zu entfernen und den Rest in Ruhe zu lassen.

Nelson
quelle
Ich empfehle, die oben verlinkten Homebrew-FAQ zu lesen. Sie enthält eine gut geschriebene Dokumentation zur optimalen und sicheren Neuinstallation.
Atari