Installieren der Xcode-Befehlszeilentools


31

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 gccund makeund 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:

Geben Sie hier die Bildbeschreibung ein

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 configwird der Wert für CLT:als angezeigt N/A.

Hier ist das komplette Bild (entschuldigen Sie das Wortspiel):

Geben Sie hier die Bildbeschreibung ein

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).

Antworten:


24

Anscheinend gibt es einen gewissen Unterschied zwischen den für die Verwendung durch Xcode installierten Befehlszeilentools und den für die systemweite Verwendung installierten Tools:

Bei meinem Computer konnte xcode-select --installdas Problem behoben werden , indem die Tools aus dem angezeigten Fenster ausgeführt und installiert wurden. Ich konnte bestätigen, dass es behoben wurde, als brew configein gültiger Eintrag für CLT ausgeführt wurde:

macOS: 10.14-x86_64
CLT: 10.0.0.0.1.1535735448
Xcode: 10.0

1
Ich bin hier, weil meine gitBefehle fehlgeschlagen sind. Diese Antwort war die Lösung, die ich brauchte, um gitBefehle wieder zum Laufen zu bringen , z. git branchetc
Jacksonkr

1
Sie können auch eine Xcode-Version für das CLT in den Xcode-Einstellungen auf der Registerkarte Standort auswählen. Sie werden online unzählige Verweise auf eine Registerkarte "Downloads" sehen, die nicht mehr vorhanden ist. Kann jemand Aufschluss darüber geben, was diese Auswahl in Xcode tatsächlich bewirkt? Die Brew-Konfiguration bestätigt, dass ich das CLT installiert habe, aber Qt jammert, dass ich Xcode 5 benötige (ja, 5, WTH). Anscheinend hat diese CLT-Auswahl etwas damit zu tun.
Oscar


0

Beim Versuch, einige Python-Pakete (mit jsonnet als Abhängigkeit) zu installieren, stieß ich auf ein ähnliches Problem und fand hier eine Lösung . Nach dem Rennen;

xcode-select --install

Anscheinend müssen Sie das Paket noch installieren, was Sie vom Terminal aus tun können.

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Obwohl Steven Ihre Frage bereits beantwortet hat, hoffe ich, dass dies jemandem hilft!


-2

Das Herunterladen der Befehlszeilentools von developer.apple.com hat das Problem behoben, jedoch die Befehlszeilentools für Xcode 10.14 und nicht die Beta-Version heruntergeladen ...

Hoffe das löst dein Problem ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.