47 votos

Instalación de Xcode a través de la línea de comandos

Soy usuario de Linux y nunca he utilizado OSX. Alguien me pidió ayuda para instalar un software en un servidor OSX "Lion". Le pedí que me diera una shell SSH, asumiendo que eso sería suficiente. Sin embargo las cosas son más complicadas de lo que pensaba.

Quise instalar homebrew, pero no se instaló porque no había cc en el sistema. Después de googlear un poco, supongo que tengo que instalar Xcode. Acabo de descargar xcode 4.5 desde el sitio de desarrolladores de apple, y lo he montado en el sistema. Contiene un dir Xcode.app con un montón de cosas dentro. ¿Cómo puedo seguir adelante?

¿Puedo instalar Xcode sin acceso físico a la máquina? Todo lo que realmente quiero es conseguir homebrew corriendo en este punto.

29voto

Ged Byrne Puntos 481

Es mejor que instale las herramientas de línea de comandos para desarrolladores independientes (que incluyen gcc y otros elementos estándar de la cadena de herramientas para desarrolladores). Puede obtenerlo en Descargas para desarrolladores de Apple (que requiere una cuenta de desarrollador gratuita). Desgraciadamente no hay un enlace directo, pero busca herramientas de línea de comandos y lo encontrarás (ten en cuenta que hay diferentes descargas para Lion y Mountain Lion).

La descarga es un DMG. Monta eso, y encontrarás un .mpkg archivo, que puede instalar a través de la línea de comandos : sudo installer -pkg "Command Line Tools.mpkg" -target / .

0 votos

+1 por tener en cuenta el paquete desnudo. +3 para la instalación desde el terminal - Voy a editar mi respuesta un poco ya que Xcode ya está descargado, las herramientas están allí en Xcode.app/Contents/Developer y podría ser fácilmente copiado a una ruta conveniente para ejecutar.

0 votos

Sí, estoy seguro de cómo/si las herramientas incluidas en el paquete de Xcode difieren de la descarga independiente. Es de suponer que algo diferente dado que Xcode tiene la opción de descarga de herramientas también. En cualquier caso, si usted está comenzando desde cero y quiere una instalación "limpia" hacer las cosas desde la línea de comandos solamente, este es probablemente el camino a seguir.

2 votos

Creo que la última vez que lo comprobé, las herramientas de Xcode tienen cabeceras adicionales y cosas para servir a la construcción de la interfaz gráfica de usuario y las herramientas de línea de comandos son despojados de un poco / construido por separado con banderas ligeramente diferentes cuando se compila, pero también por lo general la misma versión que las principales versiones de Xcode. En la práctica, nunca he visto que las diferencias se noten y mucho menos que importen. AFAIK, Xcode tira hacia abajo el paquete que usted ha mencionado y lo instala para que tenga ambos - la versión xcrun del conjunto de herramientas y la versión /usr/bin del conjunto de herramientas.

16voto

Azz Puntos 205

Esto es bastante viejo, pero para cualquiera que venga por esto, hay un simple, incorporado, de una sola línea para instalar las herramientas de línea de comandos sin la necesidad de descargar cualquier .dmg o .pkg s. Esto está disponible incluso en una instalación nueva de MacOS.

El comando es:

xcode-select --install

Según la man página:

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

Parece que está disponible desde que existe Xcode 3.0 (OS X 10.5).

15voto

naomik Puntos 201

Hace poco tuve que instalar las herramientas de línea de comandos de Xcode en Mountain Lion a través de SSH. Así es como lo hice.

  1. Si no tienes una cuenta gratuita de desarrollador de Apple, registrar para uno

  2. Inicio de sesión a https://developer.apple.com/downloads

  3. Descargar las "Herramientas de línea de comandos para Xcode" adecuadas para su versión de OSX

    Para mí, eso fue "Herramientas de línea de comandos (OS X Mountain Lion) para Xcode - abril de 2014"

  4. Copiar el archivo dmg a su remoto

    En el siguiente comando, estoy usando scp para copiar de forma segura el archivo de mi ordenador local al remoto llamado remote

    $ scp ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg remote:Downloads/
  5. ssh a su mando a distancia

    $ ssh remote
  6. monte el archivo dmg en el remoto

    Aquí, estoy usando hdiutil para montar la imagen

    $ hdiutil attach ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg
  7. instalar el paquete contenido en el dmg

    Aquí, instalador debe ejecutarse con sudo porque este paquete debe instalarse en el sistema de archivos root

    $ cd /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
    $ sudo installer -pkg Command\ Line\ Tools\ \(Mountain\ Lion\).mpkg -target /
  8. Desmontar el archivo dmg

    $ hdiutil detach /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
  9. borrar el archivo dmg desde el remoto; opcional

    No veo el propósito de mantenerlo por aquí, pero puedes hacerlo si quieres.

    $ rm ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg

0 votos

11voto

davidcondrey Puntos 450
# Install Command-line tools as dependency for Homebrew
xcode-select --install # Sets the development directory path to /Library/Developer/CommandLineTools

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Mas (command-line interface for Mac App Store)
brew install mas

# Search for Xcode showing only the first 5 results
mas search xcode | head -5
# Install Xcode using App ID
mas install 497799835 # The appid for Xcode shown when doing search

sudo xcode-select -r  # Reset the development directory path to put to Xcode /Applications/Xcode.app/Contents/Developer

#sudo xcodebuild -license

# Updaate all Apple software and auto agree to any licenses and restart if necessary
sudo softwareupdate --install --agree-to-license -aR

4voto

mles Puntos 132

Respuesta de 2018: Hay xcode-install vom KrauseFX https://github.com/KrauseFx/xcode-install

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X