Der Versuch, Git unter Mac OS X zu aktualisieren und das alte Git zu deinstallieren, schlägt fehl

Der Versuch, Git unter Mac OS X zu aktualisieren und das alte Git zu deinstallieren, schlägt fehl

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 .dmgund zog es dann uninstall.shin 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 gitderzeit 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.

  1. Brew installieren
  2. Folgen Sie den Anweisungen ( brew doctorSie werden aufgefordert, Ihr $PATHmit zu aktualisieren/usr/local/bin:$PATH
  3. brew install git

Und machen Sie sich keine Sorgen mehr über manuelle Updates, sondern führen Sie sie einfach ab brew update && brew upgradeund 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, gitden Sie in Mac OS X sehen, nicht deinstallieren. Fügen Sie ihn einfach /usr/local/git/binIhrer $PATHDatei hinzu ~/.bash_profile, indem Sie ihn export PATHwie 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 gitvorrangig zugreifen, gegenüber dem gitbereits installierten Xcode.

Längere Antwort.

Interpretieren der Fehlermeldung.

Das Problem kann verstanden werden, indem man sich den Inhalt des uninstall.shBash-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 gitdes Verzeichnispfads erhielten Sie jedoch Folgendes:

/usr/bin/ 

Dies weist darauf hin, dass das offizielle Installationsprogramm gitseine Elemente in /usr/local/git/und nicht im Kernverzeichnis von Mac OS X installiert /usr/bin/.

Welche andere Version githaben Sie dann bereits installiert? Sehen wir uns die Ausgabe git --versionfü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 gites 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 gitin 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 $PATHEinstellungen in ~/.bash_profilewie folgt ändern.

Behebung des Problems.

Öffnen Sie es zunächst ~/.bash_profilein einem Texteditor. Ich mache das am liebsten direkt in der Befehlszeile, und zwar nanoso:

nano ~/.bash_profile

Wenn export $PATHdarin kein vorhanden ist ~/.bash_profile, fügen Sie der Datei einfach eine $PATHZeile wie diese hinzu:

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

Wenn export $PATHdort ein vorhanden ist, ändern Sie diesen Wert, damit er /usr/local/git/binvor 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 $PATHsich jetzt anmeldet, /usr/local/git/bin/bevor es fortfährt, andere Verzeichnisse in seinen Standardwerten $PATHfür die gitBinärdatei zu überprüfen.

Ohne die Xcode-Version von zu deinstallieren, gitkönnen Sie jetzt die offizielle – und aktualisierte – gitBinä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 --versionwie folgt aus:

git version 2.5.3

Keine (Apple Git-31.1)in Sicht. Nur eine reine, aktuelle und dank dieser Anpassung gitsofort einsatzbereite Versionsnummer .$PATH

Antwort3

Die Installation gitallein reicht nicht aus. Bitte beachten Sie auch, dass dies gitnur funktioniert, wenn Sie cdin einen funktionsfähigen Git-Repo-Ordner gelangen. Das bedeutet, dass Sie einen ./.gitOrdner sehen sollten (Hinweis: Verwenden Sie , ls -laum versteckte Ordner anzuzeigen) und git statusetwas Ä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

verwandte Informationen