Ich habe zuvor Brew installiert, aber es funktioniert jetzt nicht.
Wenn ich laufe brew
, gibt es mir den Fehler-bash: brew: command not found
Also habe ich versucht, mit dem Code neu zu installieren
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Aber es gibt mir einen anderen:
Es scheint, dass Homebrew bereits installiert ist. Wenn Sie beabsichtigen, neu zu installieren, sollten Sie Folgendes tun, bevor Sie dieses Installationsprogramm erneut ausführen: rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
Wenn ich den Befehl verwende rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
, gibt er den ersten Fehler zurück:-bash: brew: command not found
Was sollte ich jetzt tun?
Ich hatte das gleiche Problem – habe Brew installiert, benutzt, aber jetzt funktioniert es nicht, dh brew
Befehl wird nicht mehr erkannt .
Der Kontext meines brew-nicht-mehr-erkannt-Problems ist etwas spezifischer: Ich verwende iTerm anstelle von Terminal, ich habe brew auf die übliche Weise am Standardort installiert, ich habe brew verwendet, um zsh zu installieren, und oh mein Gott . zsh , und an diesem Punkt funktionierte der Brew-Befehl nicht mehr.
Ich war nicht in der Lage, die Lösung für meine Teilmenge des Problems, dass das Gebräu nicht mehr erkannt wird, nirgendwo zu finden, also poste ich die Lösung für den Fall, dass jemand anderes diese Art von Problem hat, dass das Gebräu nicht mehr erkannt wird.
Das Hinzufügen zu meiner .zshrc
Lösung löste das Problem auf einem Computer mit Apple M1-CPU:
eval $(/opt/homebrew/bin/brew shellenv)
Beachten Sie, dass dies nicht dasselbe ist wie das Hinzufügen zur PATH-Variablen. Der Brühbefehl befindet sich tatsächlich an den Standardspeicherorten, die in anderen Lösungen aufgeführt sind. Es stellte sich heraus, dass es sich nicht um eine PATH-Variable handelte, die diese Teilmenge des Problems, dass das Gebräu nicht mehr erkannt wurde, verursachte.
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Dieser Code funktioniert bei mir auf einem MacBook Pro M1.
brew help shellenv
und es heißtConsider adding evaluation of this command's output to your dotfiles (e.g. ~/.profile, ~/.bash_profile, or ~/.zprofile) with: eval "$(brew shellenv)"
„Befehl nicht gefunden“ zeigt an, dass sich die brew
Binärdatei nicht in einem der Verzeichnisse befindet, die in Ihrer PATH-Umgebungsvariablen aufgeführt sind. Um Ihren aktuellen Pfad zu überprüfen, führen Sie echo $PATH
. Standardmäßig wird Brew in /usr/local/bin
. Um den Pfad dauerhaft festzulegen, sollten Sie Ihre ~/.bashrc
Datei so bearbeiten, dass sie die Zeile export PATH="/usr/local/bin:$PATH"
.
Auf Apple Silicon-Rechnern ist brew standardmäßig der Installationspfad/opt/homebrew/bin
Der Fehler bedeutet, dass die Umgebungsvariable auf Ihrem Mac -bash: brew: command not found
nicht gefunden wurde .brew
Die korrekte Umgebungskonfiguration in .bash_profile
der Datei sollte wie folgt aussehen:
export PATH="/usr/local/bin:$PATH"
brew
Wenn Sie also die Umgebungsvariable nicht konfiguriert haben , brew
ist der richtige Schritt zum Konfigurieren der Umgebungsvariable auf Ihrem Mac:
Fügen Sie die Umgebungsvariable zu Ihrem Mac hinzu, der richtige Befehl lautet:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
Jetzt müssen wir die Änderungen aktivieren. Geben Sie diesen Befehl zum Aktivieren ein und versuchen Sie es drew doctor
erneut:
source .bash_profile
Oder wenn Sie die Umgebung konfiguriert haben, können Sie diesen Befehl verwenden, um die Datei zu öffnen und zu überprüfen, ob die Umgebungskonfiguration korrekt ist:
/usr/bin/open ~/.bash_profile
und korrigieren Sie es dann auf den richtigen Text und speichern Sie es und beenden Sie es.
Vergessen Sie nicht, Ihre Änderungen auch zu aktivieren. Immer noch dieser Befehl:
source .bash_profile
brew
installiert wurde, müssen Sie möglicherweise export PATH="/usr/local/bin:$PATH"
durch ersetzen export PATH=$PATH:/opt/homebrew/bin
. Alle anderen Schritte sind gleich.Wenn Ihre Shell zsh
und Ihr Mac M1-basiert sind, geben Sie nach der Installation diese beiden Befehle ein brew
:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Der erste Befehl fügt hinzu:
PATH
Variable, die die Verzeichnisse enthält, in denen sich brew
die installierten Befehle und Befehle brew
befindenbrew
zur .zprofile
Initialisierungsdatei.
Der zweite Befehl fügt dieselben Variablen zur aktuellen Shell hinzu, sodass Sie mit der Verwendung beginnen können, brew
ohne .zprofile
.
PS: Verwenden Sie für Intel-Macs /usr/local
anstelle von /opt/homebrew
.
PPS: Wenn Sie ausführen bash
, verwenden Sie .bashrc
anstelle von .zprofile
.
/opt/homebrew
Auch dies setzt sowohl einen M1-Mac (Homebrew wird nur auf M1
installiert ) als auch die Verwendung von zsh
voraus (was die moderne Standardeinstellung ist, aber nicht automatisch für Konten gilt, die vor dem Wechsel erstellt wurden). Können Sie die Antwort bearbeiten, um sie allgemeiner zu gestalten, und auch erklären, was die Befehle tatsächlich tun und wie sie das in der Frage beschriebene Problem lösen?Wenn Ihre Shell zsh ist und Ihr Mac M1-basiert ist
Bearbeiten Sie .zshrc
nano .zshrc
hinzufügen
export PATH=/opt/homebrew/bin:$PATH
Beenden Sie das Terminal und öffnen Sie es erneut
Versuche es mit
brew
~/.bash_profile
Wenn Ihr Mac M1-basiert ist, können Sie die PATH-Variable mit Hinzufügen und Speichern
bearbeiten export PATH=$PATH:/opt/homebrew/bin
. Verlassen Sie das Terminal. Führen Sie nun den Brühbefehl ausDie FAQ hat einen Abschnitt dazu und ein spezielles Deinstallationsskript, beginnen Sie dort, um ein sauberes System zu erhalten, und installieren Sie es dann erneut.
https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/FAQ.md
Um Homebrew zu deinstallieren, fügen Sie den folgenden Befehl in eine Terminal-Eingabeaufforderung ein.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall )"
Laden Sie das Deinstallationsskript herunter und führen Sie ./uninstall --help aus, um weitere Deinstallationsoptionen anzuzeigen.
Könnte sein, dass Sie einfach nie heruntergeladen haben. Ich habe diesen Fehler gemacht. Ich dachte, ich hätte richtig heruntergeladen, aber herausgefunden, dass ich etwas anderes getroffen habe und dann zurückkehre, wenn es heißt: "Drücken Sie die Eingabetaste, um fortzufahren, oder eine andere Taste, um abzubrechen".
Ich habe meinen Schwanz mit dem Fehler " Befehl nicht gefunden " verfolgt. Ich dachte, ein Upgrade auf Catalina hätte meine Homebrew-Installation beschädigt ( das Upgrade von OSX erfordert ein Upgrade von MacPorts ).
Ich überprüfte meinen Pfad und /usr/local/bin
war dort und eines ls -al
dieser Verzeichnisse listete die installierten Homebrew-Pakete auf. Warum war Homebrew immer noch nicht glücklich?!?!? Ich habe einen anderen Homebrew-Befehl ausprobiert und dieser Befehl SUCCEEDED . Homebrew war also halb kaputt: Einige Dinge funktionieren, andere nicht. Drat.
Der Befehl, der den Fehlerbefehl ausspuckte, wurde nicht gefunden , was Zugriff mtr
erfordert sudo
. Obwohl die Homebrew-Dokumentation und jede andere Antwort, die ich zu diesem Fehler gefunden habe, Sie auffordern, /usr/local/bin
Ihrem Pfad hinzuzufügen, sudo
leben ausführbare Dateien, die Zugriff benötigen, im Pfad:
/usr/local/sbin
Fügen Sie dies hinzu:
/etc/paths
Und die Dinge werden wie erwartet funktionieren.
Das habe ich unter Ubuntu 20 gemacht:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"'>> ~/.bashrc
im Gegensatz zu dem, was die Brew-Dokumentation vorschlägt:
==> Nächste Schritte: Führen Sie diese beiden Befehle in Ihrem Terminal aus, um Homebrew zu Ihrem PATH hinzuzufügen:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/user/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
Es scheint, dass .profile nicht gelesen wird, wenn .bashrc vorhanden ist.
Die einfache Antwort hier ist: Sie müssen die Ausgabe der Installation lesen.
Nachdem Sie den Brühbefehl ausgeführt haben, wird er Sie anleiten, was als nächstes zu tun ist.
In meinem Fall wurde mir gesagt, dass ich die folgenden 2 Befehle ausführen soll, um das Gebräu im PATH verfügbar zu machen
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/moelwekil/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Der folgende Befehl funktioniert nicht, wenn Sie unter Proxy sind.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Verwenden Sie stattdessen Folgendes -
ruby -e "$(curl -x http://DOMAIN%5cUSER_NAME:PASSWORD@PROXY:PORT -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Beachten Sie, dass wir %5c anstelle von "\" verwenden müssen. Wenn Ihr Passwort Sonderzeichen enthält, ersetzen Sie es durch Unicode, z. B. für @ verwenden Sie %40. Verweisen Sie auf diese Unicodes
Ersetzen Sie den obigen Befehl durch Ihre eigenen Parameter
DOMÄNE - Ihre Domäne
USER_NAME - Ihr Benutzername
PASSWORT - Passwort
PROXY - 10.10.10.10
HAFEN - 8080
sudo ln -s /opt/homebrew/bin/brew /usr/local/bin/brew
Diese Zeile bindet Homebrew von /opt
mit , sodass Sie den Befehl überall /usr/local
verwenden können . brew
Das ist das einzige, was mir geholfen hat.
/opt/homebrew/bin
, PATH
mit dem zusätzlichen Vorteil, dass jeder über Homebrew installierte Befehl auch funktioniert?
Erich Majerus
TommyDo
Cholo14
Matt S
open -a textedit ~/.zshrc
und fügen Sie den Befehl in einer eigenen Zeile oben in der Datei hinzu und speichern Sie die Datei. Wenn die Datei nicht existiert, erstellen Sie sie, indem Sie sie ausführentouch ~/.zshrc
Benutzer454322
Mustafa
fish
das gleiche Snippet hinzufügen, damit.config/fish/config.fish
es auf einem M1-Mac funktioniertfish
. Danke für die Lösung 🙏Lindsay Fowler