Hintergrund
Mein Job gibt mir temporäre MacBook Pros für Reisezwecke. Ich bekomme sie mit einer neuen Betriebssysteminstallation, bevor ich gehe, und wenn ich zurückkomme, löschen sie die Festplatte. Die Reisen erfordern normalerweise eine Art Entwicklungsarbeit, was bedeutet, dass ich es vorziehen würde, meinen gesamten Entwicklungsstack auf der Maschine zu installieren, aber dies jedes Mal zu tun, wäre mühsam und Zeitverschwendung. Ich möchte ein Skript schreiben, das die gesamte Installation für mich erledigt.
Frage
Das große Problem, auf das ich gestoßen bin, ist das Herunterladen der Xcode-Befehlszeilentools. Vorerst kann ich das DMG in meiner Dropbox oder einem privat zugänglichen Cloud-Speicher verstauen. Ich habe mich jedoch gefragt: Gibt es eine Möglichkeit, diese Tools skriptfähig von Apple herunterzuladen? Das Haupthindernis scheint die Anmeldung bei Apples Entwicklerseite zu sein. Wenn ich das DMG von Apple auf eine Weise herunterladen könnte, bei der ich nur meine ID und mein Passwort über die Befehlszeile eingeben müsste, wäre das großartig (oder noch besser, es ohne Passwort herunterladen).
Nach der Suche scheint es URLs für die Befehlszeilentools zu geben, die es mir ermöglichen, sie von der Befehlszeile herunterzuladen. (siehe zum Beispiel: https://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools )
Apple integriert die xcode-select
Binärdatei jetzt in OS X selbst, sodass Sie eine einzeilige Lösung haben, die ein grafisches Autorisierungsfenster anzeigt und dann die aktuelle Version der Tools herunterlädt und installiert.
xcode-select --install
Installieren Sie wget und wenn Sie OSX 10.8.5 verwenden, verwendbares Schlüsselbund-Skripting für Lion:
http://www.red-sweater.com/blog/2035/usable-keychain-scripting-for-lion
Übergeben Sie Ihren Entwickler-Benutzernamen und Ihr Kennwort über "usable keychain scripting" an wget.
wget
wird es nicht standardmäßig installiert, was es für das Bootstrapping eines Entwicklungs-Setups unerwünscht macht. Etwas Ähnliches können Sie curl
mit der -u
Option machen, die standardmäßig installiert ist (wenn auch eine alte Version). Ich möchte den XCode-Download in ein Skript unter Versionskontrolle stellen, also würde ich es lieber vermeiden, sogar einen Benutzernamen einzufügen, aber ich muss vielleicht damit leben.
Jan C.
xcodebuild -license; xcode-select --install
eine unbeaufsichtigte Installation der Befehlszeilen-Entwicklertools durchführen.Geoff Oxberry
curl
. Allerdings bin ich mir nicht sicher, ob Apple die tatsächliche URL veröffentlicht haben möchte, und sie scheinen erhebliche Anstrengungen zu unternehmen, um die URL zu verschleiern.