Homebrew - Aktualisieren der Software in /usr/bin

Auf meinem OS X ist eine Version von Git in /usr/bin. Diese Version ist jedoch älter als die offizielle stabile Version. Ich möchte es upgraden.

Kann ich Homebrew verwenden, um diese Version zu aktualisieren? Oder würde Homebrew Git an einem separaten Ort installieren (und wenn ich das tue, wie kann ich sicherstellen, dass die neue Version tatsächlich verwendet wird)?

Sie hatten hier mehrere Fragen. Diese Seite funktioniert besser, wenn es nur eine Frage pro Frage gibt. Auf diese Weise ist es für andere Menschen einfacher, Lösungen zu finden, wenn sie das gleiche Problem haben. Ich habe Ihre anderen Fragen herausgeschnitten, aber Sie können sie gerne separat stellen.
Siehe apple.stackexchange.com/questions/63946/… für einen Teil der Antwort

Antworten (2)

Ersetzen, modifizieren oder benennen Sie die Systemwerkzeuge in /usr/bin nicht um. Es gibt eine Reihe von Gründen, warum dies eine schlechte Sache ist, und Sie können nach den spezifischen Gründen suchen, aber um es einfach zu machen, bearbeiten Sie nicht die Systemversionen.

Homebrew weiß das und speichert die Tools deshalb in /usr/local/bin. Diese Version wird anstelle der Systemversion verwendet, da Homebrew verlangt, dass sein Verzeichnis vor dem Systempfad in der $PATH-Variablen steht.

Führen brew doctorSie aus und Sie erhalten wahrscheinlich eine Nachricht wie diese:

Warnung: /usr/bin steht vor /usr/local/bin Dies bedeutet, dass vom System bereitgestellte Programme anstelle der von Homebrew bereitgestellten verwendet werden. Die folgenden Tools sind auf beiden Pfaden vorhanden:

easy_install
easy_install-2.6

Erwägen Sie, Ihren PATH so zu ändern, dass /usr/local/bin in Ihrem PATH vor /usr/bin steht.

Um dies zu beheben, fügen Sie dies entweder Ihrem Profil hinzu:

export PATH=/usr/local/bin:$PATH

…oder /usr/local/binam Anfang von /etc/paths hinzufügen, wie zum Beispiel:

/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

Homebrew installiert Tools /usr/local/bin, damit es nicht mit den auf Ihrem Mac vorinstallierten Systemtools durcheinander kommt. Wie bereits erwähnt, ist es nicht empfehlenswert, die Systemwerkzeuge zu ändern.

Hier finden Sie spezifischere und detailliertere Anweisungen zum Festlegen der PATH-Umgebungsvariablen , mit der Sie mehrere Verzeichnisse auflisten können, in denen Ihr Mac suchen soll, wenn er nach ausführbaren Dateien sucht.

Um die neueste Version von git oder eines anderen Tools zu verwenden, das Sie /usr/local/binmit Homebrew installiert haben, möchten Sie Ihren Mac anweisen, zuerst nachzusehen, /usr/local/binbevor er in der Standardeinstellung /usr/bin. Dazu definieren Sie die PATHin Ihrer .bash_profile, einer Datei, die jedes Mal automatisch geladen wird, wenn Sie ein neues Terminalfenster öffnen.

Sie können den PATH in Ihr .bash_profile schreiben, indem Sie diesen Einzeiler vom Terminal aus ausführen:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

Dieser Befehl nimmt alles zwischen den einfachen Anführungszeichen (echo)und fügt es (>>)einer Datei namens .bash_profileim Stammverzeichnis (oder Home-Verzeichnis) Ihres Benutzers hinzu (~/).

Damit diese Änderungen wirksam werden, können Sie Terminal entweder beenden und neu starten oder diesen Befehl ausführen:

source ~/.bash_profile

Wenn Sie alles manuell erledigen möchten, öffnen Sie Ihren .bash_profilemit Ihrem bevorzugten Editor und fügen Sie dann diese Zeile hinzu:

PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

und speichern Sie es. Beenden Sie dann das Terminal und starten Sie es neu.

Im Gegensatz zu grgarside empfehle ich nicht, die Datei zu ändern , da Sie eine globale/etc/paths Änderung vornehmen würden , im Gegensatz zu einer Änderung, die nur Ihre persönliche betrifft , und nur, während Sie sich in einer Bash-Shell befinden..bash_profile

Danke - Gibt es einen Grund, warum Sie empfehlen würden, die Variable PATH direkt zu bearbeiten, anstatt die relevanten Zeilen hinzuzufügen /etc/path(wie in der anderen Antwort)?
Hallo. Ich habe meine Antwort bearbeitet, um zu erklären, warum ich nicht empfehle, /etc/paths zu ändern. Siehe letzten Absatz.