![Der Versuch, Git unter Mac OS X zu aktualisieren und das alte Git zu deinstallieren, schlägt fehl](https://rvso.com/image/1466438/Der%20Versuch%2C%20Git%20unter%20Mac%20OS%20X%20zu%20aktualisieren%20und%20das%20alte%20Git%20zu%20deinstallieren%2C%20schl%C3%A4gt%20fehl.png)
Ich versuche, Git auf meinem Mac OS X 10.8.5 (Mountain Lion) zu aktualisieren.
Ich habe diese neue Version heruntergeladen vondieser Link, doppelklickte auf .dmg
und zog es dann uninstall.sh
in mein Terminal (nach den AnweisungenDort), um die alte Version zu deinstallieren, und ich erhalte:
Git doesn't appear to be installed via this installer. Aborting
Beachten Sie, dass git
derzeit auf meinem Computer installiert ist.
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ which git
/usr/bin/git
Warum kann ich es nicht deinstallieren? Wie kann ich es aktualisieren git
?
Antwort1
Auf einem Mac ist es am einfachsten,selbstgebrautes.
- Brew installieren
- Folgen Sie den Anweisungen (
brew doctor
Sie werden aufgefordert, Ihr$PATH
mit zu aktualisieren/usr/local/bin:$PATH
brew install git
Und machen Sie sich keine Sorgen mehr über manuelle Updates, sondern führen Sie sie einfach ab brew update && brew upgrade
und zu aus
Warum Sie die vorhandene Version nicht installieren können:
- Apple verfügt über eine Standard-Git-Installation, die von Xcode verwendet wird (vorausgesetzt, Sie haben Xcode oder zumindest die Befehlszeilenprogramme installiert).
Antwort2
Kürzere Antwort.
Sie müssen den Xcode, git
den Sie in Mac OS X sehen, nicht deinstallieren. Fügen Sie ihn einfach /usr/local/git/bin
Ihrer $PATH
Datei hinzu ~/.bash_profile
, indem Sie ihn export PATH
wie folgt bearbeiten:
export PATH="/usr/local/git/bin:$PATH"
Schließen und speichern Sie die Datei anschließend und laden Sie sie in Ihre Terminalsitzung, indem Sie beispielsweise Folgendes eingeben:
source ~/.bash_profile
Und Sie können auf das neu installierte Xcode git
vorrangig zugreifen, gegenüber dem git
bereits installierten Xcode.
Längere Antwort.
Interpretieren der Fehlermeldung.
Das Problem kann verstanden werden, indem man sich den Inhalt des uninstall.sh
Bash-Skripts ansieht, das mitgeliefert wirddas offizielle Git-Installationspaket für Mac OS Xum zu sehen, was genau es tut. Hier ist der Ausschnitt oben, der den angezeigten Fehler auslöst:
#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
echo "Git doesn't appear to be installed via this installer. Aborting"
exit 1
fi
Beachten Sie die Zeile if [ ! -r "/usr/local/git" ]; then
, das Bash-Skript prüft, ob dieser Verzeichnispfad vorhanden ist:
/usr/local/git/
Beim Ausführen which git
des Verzeichnispfads erhielten Sie jedoch Folgendes:
/usr/bin/
Dies weist darauf hin, dass das offizielle Installationsprogramm git
seine Elemente in /usr/local/git/
und nicht im Kernverzeichnis von Mac OS X installiert /usr/bin/
.
Welche andere Version git
haben Sie dann bereits installiert? Sehen wir uns die Ausgabe git --version
für weitere Details an:
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
Sehen Sie das (Apple Git-31.1)
? Das zeigt an, dass es von Apple installiert wurde. Und da git
es kein Teil des Mac OS X-Kern-Setups ist, konnte es nur über Xcode und zugehörige Befehlszeilen-Binärdateien installiert werden.
Kurz gesagt, Sie können und sollten nicht versuchen, die Xcode-Version von zu deinstallieren git
. Stattdessen sollten Sie dafür sorgen, dass Ihr Terminal die git
in installierten Binärdateien /usr/local/git/bin/
den Kern-Binärdateien von Mac OS X in vorzieht /usr/bin/
. Und das können Sie tun, indem Sie Ihre $PATH
Einstellungen in ~/.bash_profile
wie folgt ändern.
Behebung des Problems.
Öffnen Sie es zunächst ~/.bash_profile
in einem Texteditor. Ich mache das am liebsten direkt in der Befehlszeile, und zwar nano
so:
nano ~/.bash_profile
Wenn export $PATH
darin kein vorhanden ist ~/.bash_profile
, fügen Sie der Datei einfach eine $PATH
Zeile wie diese hinzu:
export PATH="/usr/local/git/bin:$PATH"
Wenn export $PATH
dort ein vorhanden ist, ändern Sie diesen Wert, damit er /usr/local/git/bin
vor dem Hauptsystem steht $PATH
. Beachten Sie das :
Trennzeichen.
Schließen und speichern Sie die Datei nun und laden Sie sie in Ihre Terminalsitzung, indem Sie beispielsweise Folgendes eingeben:
source ~/.bash_profile
Wenn Sie nun Folgendes eingeben:
which git
Die Ausgabe sollte sein:
/usr/local/git/bin/git
Das bedeutet, dass Ihr Terminal $PATH
sich jetzt anmeldet, /usr/local/git/bin/
bevor es fortfährt, andere Verzeichnisse in seinen Standardwerten $PATH
für die git
Binärdatei zu überprüfen.
Ohne die Xcode-Version von zu deinstallieren, git
können Sie jetzt die offizielle – und aktualisierte – git
Binärdatei herunterladen und installieren und sie verwenden, ohne sich mit Homebrew oder irgendetwas anderem befassen zu müssen. Auf meinem System sieht die aktuelle Ausgabe beispielsweise git --version
wie folgt aus:
git version 2.5.3
Keine (Apple Git-31.1)
in Sicht. Nur eine reine, aktuelle und dank dieser Anpassung git
sofort einsatzbereite Versionsnummer .$PATH
Antwort3
Die Installation git
allein reicht nicht aus. Bitte beachten Sie auch, dass dies git
nur funktioniert, wenn Sie cd
in einen funktionsfähigen Git-Repo-Ordner gelangen. Das bedeutet, dass Sie einen ./.git
Ordner sehen sollten (Hinweis: Verwenden Sie , ls -la
um versteckte Ordner anzuzeigen) und git status
etwas Ähnliches wie das folgende Beispiel zurückgeben sollten:
[some_repo]$ git status
On branch master
Your branch is up-to-date with 'origin/prod'.
nothing to commit, working directory clean
aber wenn der Ordner kein gültiges Git-Repo ist, sehen Sie etwa Folgendes:
[~]$ git status
fatal: Not a git repository (or any of the parent directories): .git