Me gustaría escribir la instalación de las herramientas de la línea de comandos de Xcode.
En Mavericks,
xcode-select --install
abrirá un cuadro de diálogo que le pedirá al usuario que instale, pero me gustaría activar la instalación sin el cuadro de diálogo, como usar el softwareupdate
comando.
¿Hay alguna forma de hacer esto?
Editar:
Específicamente, xcode-select --install
lanza una aplicación que descarga e instala las herramientas sin requerir que el usuario las descargue manualmente o tenga una cuenta de desarrollador de Apple. Parece que sirve /System/Library/CoreServices/Install Command Line Developer Tools.app
para hacer esto.
Me gustaría usar el mismo mecanismo que Apple, pero sin la GUI. No quiero tener que descargar manualmente el .dmg que contiene las herramientas ya que esto parece frágil. Apple ofrece varias otras herramientas de línea de comandos, como softwareupdate
y install
que descargan o instalan software directamente desde Apple, y estoy buscando encontrar lo mismo para este tipo de distribución.
Respuestas:
Ojalá pudiera reclamar crédito para este, pero lo encontré enterrado en https://github.com/chcokr/osx-init/blob/master/install.sh
Esto funcionó en mi máquina virtual sin cabeza 10.10 sin una IU iniciada. Actualizaciones aplicadas para compatibilidad con al menos 10.9-10.14
Esto supone que solo tiene 1 resultado
softwareupdate -l | grep "\*.*Command Line"
: si esto devuelve varias versiones, es posible que necesite una lógica más específica. (No tengo un caso de repro)una variación que parece funcionar (pruebas limitadas) en 10.10-10.14 (10.9 no devuelve un número de versión de osx en el nombre de las herramientas cli ... así que esto no funciona allí):
Algunos resultados de ejemplo:
fuente
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
después de la ejecuciónsoftwareupdate -i ...
, de lo contrario, las llamadas posteriores sesoftwareupdate -l
mostraránCommand Line Tools ...
como una actualización disponible. Esta (supuesta) actualización no parece mostrarse en la App Store, posiblemente porquesoftwareupdate -l
solo enumera las actualizaciones del "sistema", no las actualizaciones de la aplicación.Descargar el paquete de herramientas de línea de comandos desde el sitio para desarrolladores de Apple .
Montar el 1 DMG descargado :
Ejecute el instalador a través de la línea de comando:
Cuando termine, desmonte el DMG y elimine la descarga.
Expulsar el DMG 2 .
Eliminar el DMG.
1 Al momento de escribir, el DMG descargado y el nombre del paquete son correctos, sin embargo, en el futuro, el nombre puede cambiar. Recuerde alterar el comando (o usar tabulación completada) para completar la parte relevante del comando.
2 Si el comando no funciona, verifique que el disco coincida con el nombre del montaje (según
mount
).fuente
Una alternativa es usar este applecript que escribí:
https://gist.github.com/brysgo/9007731
fuente
Un intento de limpiar el estilo y la lógica de la respuesta aceptada, haciéndolo lo más independiente posible de la versión, utilizando
softwareupdate
su capacidad total e introduciendo unaos
variable reutilizable :fuente
Esto es lo que uso, en parte basado en la respuesta de brysgo.
actualización: Apple sigue agregando nuevas columnas a la base de datos de acceso, solo necesita especificar valores para los primeros 5, actualizó el código para reflejar esto.
fuente
Se pueden encontrar un par de alternativas más en estas respuestas:
Descargar XCode Command Line Tools
Puede descargar los paquetes XCode 4.x CLTools desde su sitio oficial de descargas a través de enlaces directos.
Aquí hay un script que automatizará el proceso de instalación para usted 1 .
Para encontrar enlaces actualizados para las herramientas, puede usar este comando:
[1] Por favor no abuses / sobrecargues sus servidores
Es posible que sea más fácil iniciar sesión primero en el sitio de descarga de desarrolladores de Apple y descargar las últimas herramientas de línea de comandos disponibles allí. A continuación, puede alojar el
.dmg
servidor de repositorio de su propio paquete y poder instalarlo de manera confiable.dmg
en muchas máquinashdiutil
sin tener que iniciar sesión en developer.apple.com.A partir del 10/06/2015, el enlace a las últimas herramientas de línea de comandos
dmg
es:http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode_6.3.2/commandlinetoolsosx10.10forxcode6.3.2.dmg
fuente
dmg
, y copió partes esenciales de la respuesta localmente a esta respuesta.Descubrí que si instala Home Brew, instalará automáticamente las herramientas de línea de comandos.
Probé esto usando esta imagen vagabunda .
Ejecute el siguiente comando para instalar Homebrew y, al hacerlo, instale las Herramientas de línea de comandos.
fuente