Ich habe eine Neuinstallation von macOS Mojave 10.14 durchgeführt. Unmittelbar danach habe ich Xcode Version 10.0 (10A255) aus dem Mac App Store installiert.
Jetzt möchte ich Homebrew installieren, für das Xcode Command Line Tools installiert sein muss. Nach meinem Verständnis werden bei der Installation von Xcode auch die Befehlszeilentools installiert. Oder nicht?
Gemäß dieser Antwort habe ich überprüft, ob die Befehlszeilentools installiert sind, indem ich Folgendes ausgeführt habe:
xcode-select -p
Dabei wurde der Pfad für das Entwicklerverzeichnis wie folgt gedruckt:
/Applications/Xcode.app/Contents/Developer
Wie in der Antwort vorgeschlagen, habe ich auch den Rückgabewert überprüft, indem ich Folgendes ausgeführt habe:
echo $?
die neu abgestimmt 0
.
Ich lief auch gcc
und make
und bash konnte sie finden und ausführen.
Bisher bin ich davon überzeugt, dass die Xcode Command Line Tools installiert sind. Wenn ich jetzt ausführe:
xcode-select --install
Ich bekomme diese Warnung:
Was ist der wahrscheinliche Grund für diese Ungleichheit? Wird dies die Xcode Command Line Tools zweimal installieren? Oder die vorhandene Installation überschreiben?
Soweit ich weiß, können Xcode-Befehlszeilentools installiert werden, ohne Xcode zu installieren . Wenn die Befehlszeilentools nach meiner bisherigen Erfahrung nicht separat von Xcode installiert werden (durch Ausführen xcode-select --install
), werden sie von Homebrew nicht erkannt, dh beim Ausführen brew config
wird der Wert für CLT:
als angezeigt N/A
.
Hier ist das komplette Bild (entschuldigen Sie das Wortspiel):
Obwohl ich im Zusammenhang mit macOS Mojave spreche, bleibt die Frage in Bezug auf frühere Versionen von macOS dieselbe.
Was ist der empfohlene Ansatz hier?
Hinweis : Nach der Installation von Xcode habe ich es gestartet, die Lizenzvereinbarung akzeptiert und die Installation zusätzlicher Tools beendet (dies ist eine einmalige Aktivität).
git
Befehle fehlgeschlagen sind. Diese Antwort war die Lösung, die ich brauchte, umgit
Befehle wieder zum Laufen zu bringen , z.git branch
etc