Ich möchte die Installation der Xcode Command Line Tools skripten.
Auf Außenseiter,
xcode-select --install
öffnet ein Dialogfeld, in dem der Benutzer zur Installation aufgefordert wird. Ich möchte die Installation jedoch auch ohne das Dialogfeld wie mit dem softwareupdate
Befehl auslösen .
Gibt es eine Möglichkeit, dies zu tun?
Bearbeiten:
Insbesondere xcode-select --install
startet eine Anwendung , die Downloads und die Tools installiert , ohne dass der Benutzer , um sie manuell herunterladen oder ein Apple - Entwicklerkonto hat. Es scheint zu verwenden /System/Library/CoreServices/Install Command Line Developer Tools.app
, um dies zu tun.
Ich möchte den gleichen Mechanismus wie Apple verwenden, aber ohne die GUI. Ich möchte die .dmg mit den Tools nicht manuell herunterladen müssen, da dies anfällig erscheint. Apple stellt mehrere anderen Kommandozeilen - Tools, wie softwareupdate
und install
dass Download oder Installation von Software direkt von Apple, und ich bin auf der Suche das gleiche für diese Art der Verteilung zu finden.
Antworten:
Ich wünschte, ich könnte eine Gutschrift für diese beantragen, fand sie jedoch unter https://github.com/chcokr/osx-init/blob/master/install.sh vergraben
Dies funktionierte auf meiner 10.10 Headless-VM ohne angemeldete Benutzeroberfläche. Updates für Kompatibilität mit mindestens 10.9-10.14 beantragt
Dies setzt voraus, dass Sie nur 1 Ergebnis haben
softwareupdate -l | grep "\*.*Command Line"
- wenn dies mehrere Versionen zurückgibt, benötigen Sie möglicherweise eine spezifischere Logik. (Ich habe keinen Reprofall)Eine Variation, die am 10.10.10.14 zu funktionieren scheint (eingeschränkte Tests) (10.9 gibt keine OSX-Versionsnummer im Namen der CLI-Tools zurück. Dies funktioniert dort also nicht.):
ein paar beispielergebnisse:
quelle
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
nach dem Ausführensoftwareupdate -i ...
, ansonsten nachfolgende Aufrufe als verfügbares Updatesoftwareupdate -l
anzeigenCommand Line Tools ...
. Dieses (angebliche) Update wird anscheinend nicht im App Store angezeigt, möglicherweise weilsoftwareupdate -l
nur "System" -Updates aufgelistet werden, keine Anwendungsupdates.Laden Sie das Command Line Tools-Paket von der Apple Developer-Website herunter .
Hänge das heruntergeladene 1 DMG ein:
Führen Sie das Installationsprogramm über die Befehlszeile aus:
Wenn Sie fertig sind, hängen Sie das DMG aus und löschen Sie den Download.
DMG 2 auswerfen .
Löschen Sie die DMG.
1 Zum Zeitpunkt des Schreibens sind der heruntergeladene DMG- und Paketname korrekt, der Name kann sich jedoch in Zukunft ändern. Denken Sie daran, den Befehl zu ändern (oder die Tabulatorvervollständigung zu verwenden), um den relevanten Teil des Befehls auszufüllen.
2 Wenn der Befehl nicht funktioniert, prüfen Sie, ob der Datenträger mit dem Namen des Mount übereinstimmt (gemäß
mount
).quelle
Eine Alternative ist, dieses von mir geschriebene Applescript zu verwenden:
https://gist.github.com/brysgo/9007731
quelle
Ein Versuch, den Stil und die Logik der akzeptierten Antwort zu bereinigen, sie so versionsunabhängig wie möglich zu gestalten,
softwareupdate
ihre volle Kapazität zu nutzen und eine wiederverwendbareos
Variable einzuführen :quelle
Dies ist, was ich benutze, teilweise basierend auf Brysgos Antwort.
Update: Apple fügt der Access-Datenbank ständig neue Spalten hinzu. Sie müssen nur die Werte für die ersten 5 angeben und den Code entsprechend aktualisieren.
quelle
Einige weitere Alternativen finden Sie unter den folgenden Antworten:
Laden Sie die XCode-Befehlszeilentools herunter
Sie können die XCode 4.x CLTools-Pakete über direkte Links von der offiziellen Download-Site herunterladen.
Hier ist ein Skript , das den Installationsprozess für Sie automatisiert 1 .
Mit dem folgenden Befehl können Sie aktualisierte Links für die Tools suchen:
[1] Bitte missbrauchen / überlasten Sie ihre Server nicht
Möglicherweise ist es einfacher, sich zuerst auf der Apple Developer Download Site anzumelden und die neuesten dort verfügbaren Befehlszeilentools herunterzuladen. Sie können dann den
.dmg
eigenen Paket-Repo-Server hosten und.dmg
auf vielen Computern zuverlässig installieren,hdiutil
ohne sich bei developer.apple.com anmelden zu müssen.Ab dem 10.06.2015 lautet der Link zu den neuesten Befehlszeilentools
dmg
:http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode_6.3.2/commandlinetoolsosx10.10forxcode6.3.2.dmg
quelle
dmg
, und wesentliche Teile der Antwort lokal in diese Antwort kopiert.Ich habe festgestellt, dass bei der Installation von Home Brew die Befehlszeilentools automatisch installiert werden.
Ich habe dies mit diesem Landstreicher-Bild getestet .
Führen Sie den folgenden Befehl aus, um Homebrew zu installieren , und installieren Sie dabei die Befehlszeilentools.
quelle