Error de directorio de desarrollador activo de xcode-select

681

Vio el siguiente error al ejecutar un npm installque requería node-gyp... pero podría ser activado por cualquier cosa que requiera xcode-select.

xcode-select: error: la herramienta 'xcodebuild' requiere Xcode, pero el directorio de desarrollador activo '/ Library / Developer / CommandLineTools' es una instancia de herramientas de línea de comando

¿Cuál es el problema?

tjmehta
fuente
55
También funciona para YOSEMITE
tjmehta
12
También funciona para El Capitán
tjmehta
66
También funciona para Sierra
tjmehta
55
También funciona para High Sierra
tjmehta
66
También funciona para Mojave
Zohair

Respuestas:

1289

Este problema ocurre cuando el xcode-selectdirectorio del desarrollador apuntaba /Library/Developer/CommandLineTools, cuando se requería un Xcode regular completo (ocurre cuando CommandLineTools se instala después de Xcode)

Solución:

  1. Instale Xcode (obténgalo de https://appstore.com/mac/apple/xcode ) si aún no lo tiene.
  2. Acepta los términos y condiciones.
  3. Asegúrese de que la aplicación Xcode esté en el /Applicationsdirectorio (NO /Users/{user}/Applications).
  4. Apunte xcode-selectal directorio de desarrolladores de la aplicación Xcode con el siguiente comando:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Nota: asegúrese de que la ruta de la aplicación Xcode sea correcta.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-beta: /Applications/Xcode-beta.app/Contents/Developer
tjmehta
fuente
@qodeninja Luego reemplace /Applications/Xcode5-DP4.appcon el camino correcto, supongo.
Max Nanasy el
@MaxNanasy quiero decir que es obvio. Pero no, eso no funcionó. Tuve que desinstalar y volver a instalar xcode para que funcione nuevamente
qodeninja
99
Con el Xcode 6 Beta esto funcionó. ¡Gracias! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
jpincheira
1
No necesitaba hacer el paso 2. Instalar Xcode fue suficiente. :)
Ryan Heathcote
11
macOS High Sierra 10.13 , ya tenía Xcode 9.2 instalado y enfrenté el mismo problema después de instalar carthage . ¡Acabo de hacer el paso 4 y listo!
RAM237
162

Otra solución para aquellos que no desean instalar Xcode:

  1. Instale las herramientas de línea de comandos (si aún no lo ha hecho):

    xcode-select --install

  2. Cambiar el directorio activo:

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

Esto funcionó para mí (git).

Indamix
fuente
23
Prefiero esta solución a instalar Xcode, sin embargo, parece que ya no puede descargar xcode-selectdesde Apple: cl.ly/image/2T0u2f2D471a/content
66
Sin embargo, creo que ya tengo instaladas las herramientas de línea de comandos, por lo que esto no solucionará nada.
66
Entonces, ¿es la única forma de obtener un usable xcodebuildpara instalar todo Xcode? :-(
50
Esta respuesta parece incorrecta . El punto es que 'xcodebuild' requiere Xcode , es decir, una instalación completa de Xcode, ni CommandLineTools. Al probarlo aquí, cambiar a CommandLineTools no detiene el error, ni lo haría.
mikemaccana
21
Esta respuesta ya no es correcta. A partir de mayo de 2015, cuando se utilizan las herramientas de línea de comandos para OSX 10.10 (Yosemite), el comando xcodebuild ya no funciona sin xcode completo instalado.
HipsterZipster
151

Estaba teniendo un problema al intentar instalar paquetes usando npm. Recibí el error: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

Para arreglar esto

  • Abrí Xcode.
  • Preferencias
  • Localizaciones
  • Seleccionó las herramientas de comando Lin: Xcode 6.1.1

Ahora cuando instalo paquetes con npm ya no obtengo errores.

jay.tech66
fuente
1
Se corrigió la configuración de Robo VM.
Sensei
106

Xcode-> Preferencias-> Ubicaciones-> herramientas de línea de comando

captura de pantalla

Seleccione la opción: Xcode 8.x

FranklinA
fuente
1
Haga clic en el enlace y mire la imagen. La solución a este problema no es complicada.
FranklinA
He instalado 8 versiones de xcode que hacen y emiten, pero la anterior resolverá el problema mío. Eres un salvavidas;)
ahsan
Esto fue lo único que funcionó para mí cuando intenté instalar 2 versiones de XCode. ¡Intentaba xcode-selectdecir "error: directorio de desarrollador inválido"!
mc01
Esta fue la solución que necesitaba. No estoy seguro de por qué esa opción de Herramientas de línea de comando no se configuró. Pero una vez que lo configuré, resolvió mi problema. Gracias.
jdavis
50

Simplemente ejecute lo sudo xcode-select -rque debería restablecer automáticamente la ruta.

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.
chunkyguy
fuente
Me pregunto qué sucederá si desinstalé xcode y seguí los pasos anteriores desde que instalé CLI después de xcode. ¿Eso estropearía mis proyectos de aplicaciones IOS existentes?
Gel
Esto funcionó para mí en osx 10.14.4 con xcode 11.3.1
Rafael Khan
10

En caso de que estés usando xcode beta:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer
Andrey Deineko
fuente
8

Tuve que ejecutar esto primero

sudo xcode-select --reset

entonces

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

Y luego funcionó.

Hamoonist
fuente
55
Para mí, el problema se solucionó después de ejecutar el primer comando. Ejecutar el segundo comando rompió las cosas nuevamente. Tan solo el primero (en mi caso). Gracias.
Nate
En segundo lugar, solo corrí el --resetproblema solucionado
Peter Lamberg,
7
  1. Descargue Xcode de la App Store.

  2. Vaya a Preferencias / Ubicaciones / CommandlineTools de Xcode

    Solo tiene que configurarlo en la versión Xcode. Apunta automáticamente a '/Application/Xcode.app'

Rahul Shenoy
fuente
3

Instale Xcode desde la tienda de aplicaciones. Después de la instalación, ejecute xcodebuild con privilegios de root, es decir, sudo xcodebuildy acepte el idioma. Después de esto npm install bcryptfuncionó a las mil maravillas!

sandeepkohli
fuente
3

Sin Xcode: cree un archivo /usr/local/bin/xcodebuildcon contenido para engañar a XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild

Javamonk
fuente
Debo decir que tengo problemas con node-gyp por alguna razón ejecutándose xcodebuildcuando solo tengo CLT instalado. Prefiero no instalar Xcode solo para instalar algunas extensiones nativas que no tienen nada que ver con el desarrollo de Mac e iOS, así que estoy muy dispuesto a probar esta técnica para básicamente simplemente callar el error. ¿Sabes si hay alguna repercusión de hacer esto? Solo puedo imaginar que los nodos-gyp están pidiendo xcodebuilduna razón, y al hacerlo exit 0estamos rompiendo la cadena de herramientas para una compilación determinada, pero no estoy seguro, ya que no sé por qué se usaría xcodebuilden el primer lugar. ¿Algunas ideas?
alexrussell
1
Intenté esto, desafortunadamente no hizo ninguna diferencia. Realmente no quiero instalar XCode: esto es solo un BS de marketing de Apple para forzarlo a instalarlo.
Alex
2

En caso de que estés usando Xcode beta, ejecuta

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

en vez de

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
M.Sobhy
fuente
2

Pude resolver este error sin instalar la aplicación Xcode completa. Sin embargo, debe tener instaladas las herramientas de línea de comandos de xcode.

Desde aquí :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (Una copia de seguridad por si acaso)
  3. $ vim xcodebuild
  4. Pegue lo siguiente:
#!/bin/bash
if [[ $1 == '-version' ]]; then
  echo "Xcode 10.2.1"
  echo "Build version 10E1001"
else
  /usr/bin/xcodebuild.bak $@
fi
  1. $ sudo chmod +x xcodebuild
JBis
fuente
Buena respuesta. También le agradezco que haga referencia a la fuente original. :)
Monomeeth
1

XCode2: sudo xcode-select -s / Aplicaciones / Xcode \ 2.app/Contents/Developer

Presta atención a la "\" para escapar del espacio

turibbio
fuente
1

Tuve dos instancias de Xcode instalado xcode.app y xcode-beta.app Cuando intenté crear una compilación con netbeans me mostró el error "versión compatible de xcode y herramientas de línea de comando que no se encuentran netbeans"

Seguí los siguientes pasos:

  1. "xcode-select --print-path" es igual a "/Applications/Xcode.app/Contents/Developer"
  2. "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform" existe
  3. "xcodebuild -version" comienza con "Xcode"

después de 1 descubrí que me apunta a xcode-beta.app

Así que aquí está la solución que funcionó a las mil maravillas:

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

Shashank Saxena
fuente
1

Por contexto, hoy es 28 de enero de 2019 .

En mi Mac, hice dos cosas para resolver este problema:

  1. Ejecute el siguiente comando en su terminal:
    sudo xcode-select --install

  2. Reinicia tu Mac.

Hasta que reinicié la computadora, el problema seguía ocurriendo en mi Android Studio. Después de reiniciar, estaba funcionando bien. También tenga en cuenta que no ejecuté ningún --switchcomando como lo están haciendo otros. Espero que esto ayude.

Steve
fuente
1

Estaba teniendo el mismo problema en la sierra alta. ejecutar el siguiente comando lo resolvió npm explore npm -g - npm install node-gyp @ latest

Luja Shrestha
fuente
1
Esto funcionó para mí, excepto que simplemente reinstalé connpm -g install node-gyp@latest
ty.
1

Por favor siga los pasos a continuación:

  1. La última versión de Xcode se puede descargar desde https://developer.apple.com/xcode/download/
  2. Se descargará en 'Descargas' a menos que se especifique lo contrario. Asegúrese de verificar la ruta donde descargó y extrajo el Xcode
  3. Ahora, a diferencia de otras aplicaciones descargadas, en la extracción, Xcode no da la opción de moverlo a Aplicaciones
  4. Tenga en cuenta XCODE-ACTUAL-LOCATION o muévalo a las aplicaciones
  5. Tenga en cuenta si ha descargado Xcode o Xcode-beta

Basado en 4 y 5, ejecute uno de los comandos (No los ejecute todos sin leer la descripción anterior):

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer
Nikhil Maheshwari
fuente
0
sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer

languoguangs-iMac:/ languoguang$ sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer
xcode-select: error: invalid argument '10.app/Contents/Developer'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path
languoguangs-iMac:/ languoguang$ sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

porque mi nombre Xcode en la aplicación es "Xcode 10",

sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

trabajos.

Languoguang
fuente
0

En mi caso,

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

no funcionó porque mi Xcode tenía un nombre especial. por ejemplo) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Luego encontré mi nombre de Xcode, luego lo reemplacé con

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

Funcionó para mi.

Jaeseok Jay An
fuente
0

Nada de lo anterior funcionó para mí. Originalmente instalé Command Line Tools por separado, y luego todo Xcode. Lo que funcionó para mí fue desinstalar Command Line Tools como se muestra aquí . Luego, cuando intentaba xcode-selectvolver a correr , me pidieron que los reinstalara.

* Por cierto, la razón por la que encontré este hilo fue porque había instalado algunas bibliotecas (particularmente gcc) con macports, presumiblemente usando las antiguas herramientas de línea de comandos, y luego instalé el Xcode completo a mitad del desarrollo. De todos modos, para mi caso, tuve que reinstalar macportsdespués de quitar las Herramientas de línea de comandos independientes, reinstalarlas, reinstalar gccy luego mi compilación funcionó.

legel
fuente
0

Solo se requieren dos pasos y no se requiere el XCode.app completo :

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

En este punto, aparece el cuadro de diálogo "Instalar Softwre":

ingrese la descripción de la imagen aquí

¡Eso es!

Mark Richman
fuente
0

Simple reinstalar xcode-select

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Semir Hodzic
fuente