Mac OS
Cómo solucionar errores
xcrun: error

xcrun: error: invalid active developer path: how to fix

Ejemplo de error xcrun

A veces se produce un error como el anterior al escribir comandos de línea de comandos en Mac OS. La solución es sencilla. Lo que necesitas saber es por qué se produce el error, y si estás estudiando desarrollo, te recomiendo que leas la sección de causas antes de seguir adelante.

1. Solución

Empecemos con la solución.

Escribe lo siguiente en tu terminal y pulsa Enter.

xcode-select --install

En la ventana que se abre, haga clic en el botón Instalar.

Ventana emergente de instalación de herramientas para desarrolladores

Finalmente, pulse el botón OK en la ventana de licencia y la instalación procederá. Una vez finalizada la instalación, escriba el mismo comando y se ejecutará sin errores.

Ejecutar python3

2. Causa

Ahora que hemos solucionado el error, veamos por qué se produce. Empezando por el error en sí, esto es lo que parece.

$ python3
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

He escrito el comando python3, pero el mensaje de error dice que no existe xcrun. ¿De dónde viene xcrun?

2.1. xcrun

manpagez lo explica así: (opens in a new tab) Para que te hagas una idea, lo que hace xcrun es ejecutar la versión de Python que usa Xcode de entre las muchas Python instaladas en mi máquina, o la que viene con las CommandLineTools para ejecutar la versión de Python instalada en mi máquina. La versión que ejecuta xcrun es la que Mac OS piensa que es mejor para nuestro sistema operativo en este momento.

Por supuesto, tus pensamientos triunfan sobre los del sistema. Así que xcrun se ejecuta después de haber explorado todo el PATHs. Para aquellos que no lo sepan, vale la pena explicar la relación entre los comandos CLI y el PATH.

2.2. CLI y PATH

Los programas que se ejecutan desde la CLI, como el intérprete de Python, pueden existir en cualquier lugar de tu ordenador. Puede estar en /opt/homebrew/bin/python3, o puede estar en /usr/bin/python3. Para ejecutar este programa, necesitamos entrar en el directorio de nivel superior que empieza por /.

/usr/bin/python cli

El PATH es lo que permite omitir estas direcciones de directorio prefijadas. Si especifica el directorio deseado en el PATH, el ordenador encontrará y ejecutará automáticamente el ejecutable python3 en esa carpeta.

python3 cli

El PATH de mi ordenador se puede encontrar con el siguiente comando.

echo $PATH

Deberías ver múltiples rutas de salida, como se muestra a continuación.

echo $PATH

Irá al principio de los múltiples PATHs que imprime, y si el ejecutable python3 existe, lo ejecutará, y si no existe al final, imprimirá un mensaje diciendo que no fue encontrado.

Para verificar el mensaje, vamos a ejecutar python4, que no existe en la máquina.

Pantalla al ejecutar python4

Lo que hace xcrun es encontrar todos los PATHs anteriores y luego ejecutarlos para encontrar y ejecutar el ejecutable python3 que está instalado para el SO y Xcode.

2.3. Actualización Mac OS

Las actualizaciones de CommandLineTools y Mac OS están estrechamente relacionadas, ya que el propio CommandLineTools, del que forma parte xcrun, es un conjunto de aplicaciones optimizadas para Mac OS. A veces, las actualizaciones de Mac OS incluyen actualizaciones para CommandLineTools. Esto crea un error que hace que las actualizaciones de Mac OS confundan o incluso restablezcan la configuración del directorio para xcrun.

La solución anterior funciona para revertir las rutas dañadas o reparar programas que se inicializaron con una instalación limpia de CommandLineTools. La solución es simple, pero fue divertido buscar xcrun y aprender más sobre cómo funciona el Mac OS.

copyright for Mac xcrun error

© 2023 All rights reserved.