Installieren von Xcode über die Befehlszeile

27

Ich bin ein Linux-Benutzer und habe noch nie OSX verwendet. Jemand hat mich um Hilfe bei der Installation von Software auf einem OSX "Lion" -Server gebeten. Ich bat ihn, mir eine SSH-Shell zu geben, vorausgesetzt, das würde ausreichen. Die Dinge sind jedoch schwieriger als ich dachte.

Ich wollte Homebrew installieren, aber es wurde nicht installiert, weil auf dem System kein CC vorhanden war. Nach einigem googeln muss ich wohl Xcode installieren. Ich habe gerade xcode 4.5 von der Apple Developer Site heruntergeladen und auf dem System gemountet. Es enthält ein Verzeichnis Xcode.appmit ein paar Sachen. Wie gehe ich von hier aus?

Kann ich Xcode ohne physischen Zugriff auf das Gerät installieren? Alles, was ich wirklich will, ist, Homebrew zu diesem Zeitpunkt zum Laufen zu bringen.

Jeroen
quelle

Antworten:

25

Sie sind möglicherweise besser dran, wenn Sie nur die eigenständigen Developer Command Line Tools (einschließlich gccanderer standardmäßiger Developer Toolchain-Elemente) installieren . Sie können es über die Entwickler-Downloads von Apple herunterladen (für die ein kostenloses Entwicklerkonto erforderlich ist). Leider gibt es keinen direkten Link, sondern nur eine Suche nach Befehlszeilen-Tools, und Sie werden ihn finden (beachten Sie, dass es für Lion und Mountain Lion unterschiedliche Downloads gibt).

Der Download ist eine DMG. Montieren Sie das, und Sie werden eine finden .mpkgDatei, die Sie über die Befehlszeile installieren : sudo installer -pkg "Command Line Tools.mpkg" -target /.

Robmathers
quelle
+1 für das Beachten des nackten Pakets. +3 für die Installation vom Terminal - Ich bearbeite meine Antwort ein wenig, da Xcode bereits heruntergeladen wurde. Die Tools befinden sich in Xcode.app/Contents/Developer und können problemlos in einen geeigneten Pfad zum Ausführen kopiert werden.
bmike
Ja, ich bin mir sicher, wie / ob sich die im Xcode-Paket enthaltenen Tools vom Standalone-Download unterscheiden. Vermutlich etwas anders, da Xcode auch die Download-Tools anbietet. In jedem Fall ist dies wahrscheinlich der richtige Weg, wenn Sie bei Null anfangen und eine "saubere" Installation nur über die Befehlszeile ausführen möchten.
Robmathers
2
Ich glaube, als ich das letzte Mal nachgesehen habe, haben die Xcode-Tools zusätzliche Überschriften und Funktionen für das GUI-Gebäude, und die Befehlszeilen-Tools werden beim Kompilieren ein wenig reduziert / separat erstellt, mit leicht unterschiedlichen Flags, aber im Allgemeinen mit der gleichen Version wie Major Xcode Veröffentlichungen. In der Praxis habe ich noch nie gesehen, dass die Unterschiede bemerkt wurden, geschweige denn, dass es darauf ankam. AFAIK, Xcode ruft das von Ihnen erwähnte Paket auf und installiert es, sodass Sie beides haben - die xcrun-Version des Toolset und die / usr / bin-Version des Toolset.
bmike
Ja, es hat funktioniert. Ich habe gerade Brew installiert. In Ihrem Beitrag befindet sich ein Tippfehler, der sudo installeranstelle von gelesen werden sollte sudo install.
Jeroen,
@Jeroen danke dafür, behoben. Ich bin mir nicht sicher, wie ich es verpasst habe.
Robmathers
10

Ich musste kürzlich Xcode-Kommandozeilen-Tools auf Mountain Lion über SSH installieren. So habe ich es gemacht.

  1. Wenn Sie kein kostenloses Apple-Entwicklerkonto haben, registrieren Sie sich für eines

  2. Melden Sie sich unter https://developer.apple.com/downloads an

  3. Laden Sie die für Ihre OSX-Version geeigneten "Befehlszeilentools für Xcode" herunter

    Für mich war das "Kommandozeilen-Tools (OS X Mountain Lion) für Xcode - April 2014"

  4. Kopieren Sie die dmg-Datei auf Ihre Fernbedienung

    Im folgenden Befehl verwende ich scp , um die Datei sicher von meinem lokalen Computer auf die Remote- Site mit dem Namen zu kopierenremote

    $ scp ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg remote:Downloads/
  5. SSH auf Ihre Fernbedienung

    $ ssh remote
  6. Hängen Sie die DMG-Datei auf der Fernbedienung ein

    Hier verwende ich hdiutil , um das Image einzuhängen

    $ hdiutil attach ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg
  7. Installieren Sie das im DMG enthaltene Paket

    Hier muss das Installationsprogramm ausgeführt werden, sudoda dieses Paket auf dem Root-Dateisystem installiert werden muss

    $ cd /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
    $ sudo installer -pkg Command\ Line\ Tools\ \(Mountain\ Lion\).mpkg -target /
  8. Hängen Sie die dmg-Datei aus

    $ hdiutil detach /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
  9. Löschen Sie die DMG-Datei von der Fernbedienung. wahlweise

    Ich sehe keinen Grund, es zu behalten, aber du kannst, wenn du willst.

    $ rm ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg
Vielen Dank
quelle
adcdownload.apple.com/Developer_Tools/Xcode_8.3/Xcode_8.3.xip ist keine .dmg mehr. stackoverflow.com/a/39489446/18096 erklärt, wie man diese Nuss knackt.
Martin Dorey
4

Dies ist ziemlich alt, aber für jeden, der damit kommt, gibt es einen einfachen, integrierten Einzeiler, mit dem die Befehlszeilentools installiert werden können, ohne dass ein .dmgoder .pkgmehrere heruntergeladen werden müssen . Dies ist auch bei einer Neuinstallation von macOS möglich.

Der Befehl lautet:

xcode-select --install

Nach der manSeite:

Opens a user interface dialog to request automatic installation of the command line developer tools.

Es scheint verfügbar zu sein, seit es Xcode 3.0 gibt (OS X 10.5).

janka102
quelle
1
Ich sehe keinen --install-Schalter in der xcode-select-Version 2311, Manpage vom 16. November 2011, Mac OS X 10.8.5.
Martin Dorey
Ich auch nicht in der xcode-select-Version 2349, Manpage vom 8. März 2016.
user44400
1

Die Tools, die Sie benötigen, befinden sich alle in Xcode.app/Contents/Developer. Wenn Sie über diesen Ordner verfügen, ist die Installation abgeschlossen, da OS X-Anwendungen von überall ausgeführt werden können.

Wenn Sie Xcode verwenden möchten, klicken Sie einfach auf das Symbol oder open -aden Pfad zum Ordner Xcode.app und Sie starten die App. Die meisten Leute verschieben den Ordner Xcode.app nach / Applications (oder ~ / Applications), um ihn zu "installieren".

Oh - wenn Sie Xcode starten, möchten Sie die Einstellungen öffnen, den Bereich Downloads aufrufen und die eigenständigen Befehlszeilentools installieren. Dadurch wird die Kompilierungs-Toolchain in / usr / bin abgelegt, sodass Sie den Pfad zu den Tools nicht verwenden xcrun --find gccund xcrun --find makean der Stelle suchen müssen, an der Sie den Ordner Xcode.app abgelegt haben.

bmike
quelle
Dennoch werden auch Befehlszeilen-Dienstprogramme benötigt, um Homebrew zum Laufen zu bringen. Es ist wahrscheinlich am einfachsten, den Besitzer des OS X-Systems zu bitten, das Zeug für Sie zu installieren (oder sich über VNC zu verbinden und es selbst zu tun)
nohillside
1

Ich fand heraus, dass Homebrew auch die Xcode Command Line Tools installiert .

Der große Vorteil ist für mich, dass ich es von einem Terminal aus (sogar von ssh aus) tun kann und der Installer kein UI-Pop-Fenster anzeigt , das mich von der Verwendung mit einem entfernten Terminal abhält.

Getestet mit Homebrew- Version 2.1.10 (Git-Revision b7d38f; letzte Übergabe 2019-08-12).

Für mich waren diese Schritte viel einfacher, als das dmg-Paket von Apple herunterzuladen und es per ssh auf den Zielcomputer zu kopieren.

Der Installer-Befehl wird generiert (von der Website kopiert)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

die folgende Ausgabe:

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following new directories will be created:
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/sbin
/usr/local/share
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.

und

...
Downloading Command Line Tools (macOS Mojave version 10.14) for Xcode
Downloaded Command Line Tools (macOS Mojave version 10.14) for Xcode
Installing Command Line Tools (macOS Mojave version 10.14) for Xcode
Done with Command Line Tools (macOS Mojave version 10.14) for Xcode
...
KargWare
quelle
-1

MOUNT XCODE DMG

tell application "Finder" to open ("Macintosh HD")
tell application "Finder"
    activate
    set target of Finder window 1 to folder "Downloads" of folder "vagrant" of folder "Users" of startup disk
    open document file "{{ osx_xcode_file }}" of folder "Downloads" of folder "vagrant" of folder "Users" of startup disk
end tell

Ersetzen Sie Xcode "{{osx_xcode_file}}" durch die heruntergeladene Version / den heruntergeladenen Dateinamen.

Installieren Sie XCODE

tell application "Finder"
    activate "Xcode"
    with timeout of 1000000 seconds
        copy file "Xcode:Xcode.app" to folder "Macintosh HD:Applications"
    end timeout
end tell

Optional können Sie einen vorherigen XCODE löschen

rm /Applications/Xcode.app verursacht unvorhergesehene Probleme

tell application "Finder"
    activate "Applications"
    considering case
        with timeout of 1000000 seconds
            set sourceFolder to POSIX file "/Applications/Xcode.app"
            try
                delete sourceFolder
            on error errorMessage number errorNumber
                set _error to errorMessage
                set _errorNum to errorNumber
            end try
        end timeout
    end considering
end tell

Speichern Sie jede Datei als scriptname.scpt

run: / usr / bin / osascript scriptname.scpt Als Konsolenbenutzer ausführen (NOT ROOT)

casibbald
quelle
Wie können Sie dies über ssh ausführen? Auch wie ist das besser als die Kommandozeile nur Entwickler-Tools?
user151019
Hallo Markus, wir haben eine spezielle Anforderung, um den vollständigen xcode installieren zu können. ssh user @ hostname "onascript <pfad / zu / datei> /myscript.scpt
casibbald