No se puede usar xcodebuild en Mavericks con las herramientas de línea de comandos instaladas

92

He instalado las herramientas de línea de comandos:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

Sin embargo, cuando algo intenta usar xcodebuild, aparece el siguiente error:

$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

En Mountain Lion era posible usar esto sin instalar todo Xcode, sino solo las herramientas de línea de comandos. ¿Es posible hacer esto en Mavericks? ¿Cómo puedo hacer que funcione?

NB Esto es en una instalación limpia de Mavericks.

Actualización: solo para mostrar, tengo las herramientas de línea de comandos instaladas:

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

fuente
1
Me encontré con el mismo problema aquí tratando de construir algunos módulos de nodo. Es de esperar que haya una solución rápida disponible.
rossipedia
Creé un problema node-gypya que esa es la fuente de mi problema: github.com/TooTallNate/node-gyp/issues/341
Tal vez tengas que instalar Xcode. Así es como se ve mi gcc --version Configurado con: --prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM versión 5.0 (clang-500.2.79) (basado en LLVM 3.3svn) Destino: x86_64-apple-darwin13. 0.0 Modelo de hilo: posix
Martin Christmann
1
Tal vez tenga razón, es extraño que no fuera necesario en Mountain Lion con las herramientas de línea de comandos instaladas.
Supongo que lo hizo xcode-select --install. Con xcode-select --print-pathimpresiones instaladas de Xcode/Applications/Xcode.app/Contents/Developer
mb21

Respuestas:

64

Sé que esta es una respuesta tardía, pero en mi caso, este comando resolvió el problema:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Juanan
fuente
14
tenga en cuenta que la pregunta es sobre la construcción con la instalación de herramientas de línea de comandos. Al cambiar a Xcode.app, está compilando a través de Xcode (cuál es la pregunta que intenta evitar la instalación).
bryanmac
23

Parece que OSX ha cambiado xcodebuildpara requerir XCodesu instalación, donde antes funcionaba correctamente con solo las herramientas de línea de comandos de OSX instaladas.

Respuesta antigua semi relacionada

Mucha gente se encontró con esto con Node. La herramienta de compilación de Node`` se gyputiliza xcodebuildpara preparar la compilación de paquetes de nodos. Mavericks ha cambiado el comportamiento de xcodebuildpara que ya no funcione correctamente con gyp. Esto se está arreglando en este momento. Ver el problema de node-gyp

Una vez que los cambios se hayan implementado en NPM, podrá instalar el nuevo node-gyppaquete y compilar correctamente. También deberá actualizar su versión de NPM una vez que los cambios se incorporen a NPM.

loganfsmyth
fuente
no tengo idea de por qué esto está vinculado con el nodo, estoy tratando de construir algo más con Xcode
zinking
exactamente, todavía xcodebuild está disparando un error cuando lo llamas desde la línea de comando ... De hecho, descargué las últimas herramientas de línea de comando del sitio web de desarrolladores
alexserver
16

Primero vaya al buscador, luego seleccione Aplicaciones en el panel izquierdo, luego busque Xcode y verifique si su nombre es Xcode o Xcode-Beta

Si el nombre es Xcode-Beta, ingrese este comando en la Terminal:

sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer

Si el nombre es Xcode, ingrese este comando:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Espero que esta respuesta pueda ayudar a los usuarios con la versión Beta de Xcode

Gracias

Muhammed Irfan
fuente
9

Este problema se debió a que el directorio de desarrolladores xcode-select apuntaba al /Library/Developerque solo contenía la carpeta CommandLineTools. Con este fin, el mensaje de error se queja de que el directorio no es el mismo que Xcode.

Dos soluciones probadas:

  1. (Re) Instale Xcode.

  2. Apunte xcode-select al directorio de desarrolladores de Xcode usando el siguiente comando:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Referencias:

Cómo corregir un error como "xcode-select: error: la herramienta 'xcodebuild' requiere Xcode, pero el directorio de desarrollador activo * BROKEN LINK *

xcode-select error de directorio de desarrollador activo

carlodurso
fuente
Enlace 1 está roto
anki
2

Reinstalé Xcode desde App Store que resolvió este problema. Supongo que mi instalación anterior no está completa.

zink
fuente
1

También hay una GUI para cambiar la ruta de las herramientas de línea de comandos en Xcode> Preferencias> Ubicaciones:

Xcode> Preferencias> Ubicaciones

Acabo de tener este problema después de actualizar a Xcode 10.3 mientras mantenía una copia anterior de 10.2.1 en una subcarpeta en Aplicaciones. Cuando abrí este panel de Ubicaciones, la selección de Herramientas de línea de comandos estaba en blanco, pero pude elegir entre las dos versiones instaladas:

Menú desplegable de selección de herramientas de línea de comandos

Tiendo a optar por la opción GUI si está disponible en lugar de copiar los sudocomandos de SO.

suite22
fuente
0

Si usa XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Preste atención a la "\" para escapar del espacio.

turibbio
fuente
0

Hoy tuve este problema y el problema fue que estaba usando una instalación manual de xcode y tenía el archivo llamado Xcode8.3.2.app en lugar de Xcode.app. Cambiar el nombre de la aplicación solucionó el problema de las quejas de xcode-select. Esto parece indicar que el nombre de la aplicación normal está en su ruta de búsqueda, pero las variantes no.

AnneTheAgile
fuente
-3

AFAIK, las herramientas de línea de comando en Mavericks se instalan en /Applications/Xcode.app/Contents/Developer, lo que tiende a implicar que se requiere Xcode. Probablemente característica indocumentada.

moreaug44
fuente