Cómo actualizar Xcode desde la línea de comando

326

Estoy tratando de actualizar Xcode desde la línea de comando. Inicialmente intenté ejecutar:

 xcode-select --install

que resultó en este mensaje:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Entonces la pregunta sigue siendo, ¿hay alguna manera de actualizar Xcode desde la línea de comando?

psvj
fuente
@RohitPradhan ¿funciona eso?
psvj
@psjv ... aún no lo he intentado,
Rohit Pradhan
Entonces, obviamente, puede instalar desde la tienda de aplicaciones ... Sin embargo, tengo el presentimiento de que usar un comando de terminal será más rápido y más eficiente que usar la tienda de aplicaciones (GUI?). ¿Alguien puede construir sobre esta idea? Puse la GUI en paréntesis porque no sé si estoy usando la terminología correcta.
Bozeyman9000

Respuestas:

409

Lo que realmente está utilizando es el comando para instalar las herramientas de línea de comandos Xcode - xcode-select --install. De ahí el mensaje de error que recibió: las herramientas ya están instaladas.

El comando que necesita para actualizar Xcode es softwareupdate command [args ...]. Puede usar softwareupdate --listpara ver qué hay disponible y luego softwareupdate --install -ainstalar todas las actualizaciones o softwareupdate --install <product name>instalar solo la actualización de Xcode (si está disponible). Puede obtener el nombre del comando de lista.

Como se mencionó en los comentarios, aquí está la página de manual de la softwareupdateherramienta.

Actualización 2019

Muchos usuarios están experimentando problemas que softwareupdate --install -a, de hecho, no se actualizarán a la versión más reciente de Xcode . La causa de esto es más que probable una actualización pendiente de macOS (como @brianlmerritt señaló a continuación). En la mayoría de los casos, actualizar macOS primero resolverá el problema y permitirá que Xcode también se actualice.

Actualización de las herramientas de línea de comandos de Xcode

Una gran parte de los usuarios está llegando a esta respuesta en un intento de actualizar las herramientas de línea de comandos de Xcode . La forma más fácil de lograr esto es eliminar la versión anterior de las herramientas e instalar la nueva.

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

Aparecerá una ventana emergente que lo guiará por el resto del proceso.

Vel Genov
fuente
8
Hmm, para mí, por alguna razón, la actualización aparece en la App Store, pero no en la línea de comandos.
Gino Pane
2
--listy --install -a+1
Jacksonkr
2
@GinoPane Mismo. softwareupdate --list dijo que no había actualizaciones a pesar de que App Store mostró una actualización para Xcode.
Impermanencia digital
64
Al realizar la prueba, softwareupdate --install -ani siquiera actualiza Xcode, por lo que parece que la respuesta es completamente incorrecta.
Charlie Gorichanaz el
44
Corrí softwareupdate -i -rpara instalar la [recommended]instalación solamente, que era las Herramientas de línea de comandos. Se descargó dos veces, se instaló una vez y luego se completó. Al ver que no resolvió el problema, volví a hacerlo softwareupdate --listy la recomendación persistió. En AppStore, la actualización de software había desaparecido y luego reapareció. Al hacerlo a través de AppStore, se me solicitó que aceptara los términos del usuario. Después de aceptar, parecía funcionar. Se repitió la ejecución softwareupdate --listy apareció como todavía se recomienda ...
GMarx
189

Tuve el mismo problema y lo resolví haciendo lo siguiente:

  1. eliminar las herramientas antiguas ( $ sudo rm -rf /Library/Developer/CommandLineTools)
  2. instale las herramientas de línea de comando xcode nuevamente ( $ xcode-select --install).

Después de estos pasos, verá una ventana emergente para instalar la nueva versión de las herramientas.

ipinak
fuente
3
Gracias hombre, esta solución también funciona para mí. Pasé un día entero tratando de superar esto.
Adebayo
1
@ipinak ¿No es riesgoso eliminar toda la carpeta CommandLineTools?
Aryan Venkat
1
@AryanVenkat ¿por qué debería ser arriesgado? Puede reinstalarlos cuando lo desee.
ipinak
2
Esto pareció funcionar para mí: los comandos se ejecutaron sin errores, la ventana emergente se completó y /Library/Developer/CommandLineToolsse instaló un nuevo directorio. Sin embargo, el nuevo directorio también estaba desactualizado (de Xcode 7.3 en lugar del actual 9.4), por lo que no resolvió mi problema. Terminé buscando herramientas de desarrollador en developer.apple.com/download/more y descargué Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1desde allí.
jbyler
25
Solo pude eliminar / Library / Developer / CommandLineTools agregando un sudo para que se convirtierasudo rm -rf /Library/Developer/CommandLineTools
George
45

Encontré el mismo problema cuando desinstalé la versión completa de Xcode para reinstalar la versión CLI. Mi solución fue:

sudo xcode-select -s /Library/Developer/CommandLineTools

Cyril Bouthors
fuente
a veces la forma de fuerza bruta es la forma más fácil y menos compleja (especialmente cierto en Appleland) - sin embargo, aún así terminamos con una versión anterior
NHED
Después de actualizar un dispositivo a Catalina, no pude instalar cocoapods hasta que hice esto. Pero parece haber llevado a más problemas, con xcodebuild que requiere xcode, pero el directorio de desarrollador activo '/ Library / Developer / CommandLineTools' es una instancia de herramientas de línea de comando. Luego tuve que ejecutar sudo xcode-select -rpara restablecer la ruta de herramientas de línea de comandos.
Lawrence Weru
20

Esto me salvó el día. Solo escribe los comandos

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

Referencia: https://forums.developer.apple.com/thread/104296

Roy Huang
fuente
No puedo decir que esta es la respuesta correcta en sí misma, ya que también probé muchas otras soluciones proporcionadas aquí, pero fue solo después de usar esta solución que el problema se resolvió, ¡gracias!
jupiar
14

Recibí este error después de eliminar Xcode. Lo arreglé restableciendo la ruta de herramientas de línea de comandos con sudo xcode-select -r.

Antes de:

navin@Radiant ~$ /usr/bin/clang
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
See `man xcode-select` for more details.

navin@Radiant ~$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Después:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files
Navin
fuente
1
Esto me lo arregló. También eliminé Xcode y encontré el error anterior. Si bien intenté reinstalar solo las herramientas de línea de comandos utilizando las sugerencias en otras respuestas, esto es lo que finalmente resolvió el problema.
Ryan Marten
11
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
Minato
fuente
3
Al agregar una respuesta a una pregunta anterior con respuestas existentes, es útil señalar qué nuevo aspecto aborda su respuesta, y también abordar si el paso del tiempo y el lanzamiento de una nueva versión tienen un impacto en la respuesta.
Jason Aller
Confirmó que esto funciona en Mac OS Catalina beta. Inicia una ventana de instalación para descargar el software requerido después de que aprueba el acceso.
Jas
8

La respuesta de @Vel Genov es correcta, excepto cuando la versión de Xcode no se puede actualizar porque es la última versión para su versión actual de Mac OS. Si sabe que hay un Xcode más nuevo (por ejemplo, no cargará una aplicación en un dispositivo con una versión reciente de iOS), entonces es necesario actualizar primero Mac OS.

Nota adicional para aquellos como yo con el viejo Mac Pro 5.1. La actualización a Mojave requirió la instalación de la gpu de metal (Sapphire AMD Radeon RX 560 en mi caso), pero asegúrese de que solo esté instalado el monitor HDMI (no solo 4K! 1080). Solo entonces instaló Mojave, dijo que se requería una actualización de firmware y apagó la computadora. ¡Mantenga presionado el botón de encendido durante 2 minutos y todo se actualizó bien después de eso!

brianlmerritt
fuente
6

Después de instalar las Herramientas de línea de comandos (con xcode-select --install), escriba:

sudo xcode-select --switch /Library/Developer/CommandLineTools/

Deberías poder ejecutar git ahora:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)
Iuri Gavronski
fuente
Esto me salvó la vida: esto funciona en 2019 ya que las otras respuestas ya no funcionan
Nick
Puedo confirmar que esto funciona para mí en la última versión de Mac Catlina (10.15.4 (19E287))
Gaurav Sarma
5

Estaba tratando de usar la aplicación React-Native Expo con create-react-native-app pero, por alguna razón, lanzaría mi simulador y simplemente se colgaría sin cargar la aplicación. La respuesta anterior de ipinak anterior restableció las herramientas de Xcode CLI porque intentar actualizar a la más reciente Xcode CLI no funcionaba. los dos comandos son:

rm -rf /Library/Developer/CommandLineTools
xcode-select --install

Este proceso lleva tiempo debido a la descarga. Dejo esto aquí para cualquier otra búsqueda de esta solución específica de React-Native Expo.

RawBData
fuente
4

Xcode :: Install es un software cli simple que le permite instalar / seleccionar una versión específica de Xcode.

Puedes instalarlo usando gem install xcode-install
Luego podrás instalar una versión específica con xcversion install 9.4.1
Y si tienes más de una versión instalada, puedes cambiar la versión conxcversion select 9.4

Puede encontrar más información en https://github.com/KrauseFx/xcode-install

obituar
fuente
1

Para aquellos que tienen este problema después de actualizar a Catalina, simplemente ejecuten este comando en su terminal

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;
Adeojo Emmanuel IMM
fuente
1
Esto no agrega nada a las otras respuestas que ya mencionan estos comandos exactos.
bfontaine
1

Hola, lo resolví así:

Instale la aplicación> Xcode.app> Contenido> Recursos> Paquetes> XcodeSystemResources.pkg.

Abdulkadir Turan
fuente
0

La versión 11.2.1 de xCode es necesaria para crear una aplicación en iPad 13.2.3, cuando trato directamente de actualizar de xcode 11.1 a 11.2.1 a través de App Store, me sorprendió, así que después de investigar un poco, encontré una solución para actualizar eliminando el xcode existente del sistema

Así que aquí estoy agregando los pasos para actualizar después de desinstalar xcode existente.

  1. Vaya a Aplicaciones e identifique Xcode y arrástrelo a la papelera.
  2. Vaciar la papelera para eliminar permanentemente Xcode.
  3. Ahora vaya a la carpeta ~ / Library / Developer / y elimine el contenido por completo. Use sudo rm -rf ~ / Library / Developer / para evitar cualquier problema de permisos al eliminar
  4. Por último, elimine cualquier directorio de caché asociado con xcode en la ruta ~ / Library / Caches / com.apple.dt.Xcode sudo rm -rf ~ / Library / Caches / com.apple.dt.Xcode / *
  5. Después de completar los pasos anteriores, puede instalar fácilmente xcode desde App Store, que instalará la última versión actual de xcode

Nota: haga una copia de seguridad de sus proyectos existentes antes de realizar los cambios anteriores

Ajith
fuente