Determinar la versión de las herramientas de línea de comandos de xcode

25

¿Cómo determino qué versión (s) de las herramientas de línea de comandos de xcode tengo?

Intenté hacer

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix

¿La versión de Apple LLVM es la misma que la versión de las herramientas de línea de comandos de xcode?

Andrew Grimm
fuente
+1. Fue realmente difícil diseñar una búsqueda en Google para encontrar una respuesta a esto. Busqué xcode command line tools installed versionpero obtuve muchas coincidencias irrelevantes. Por cierto, ¿la respuesta del perro G. funcionó para usted?
Kelvin

Respuestas:

30

Encontrar el número de versión de CLI depende de la combinación de qué sistema operativo particular y qué herramientas de CLI particulares están instaladas. Uno de estos debería funcionar:

En Yosemite y Mavericks:

pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

en Mountain Lion:

pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Doc G.
fuente
55
Si alguna vez vuelven a cambiar el nombre del paquete, la ejecución pkgutil --pkgs | grep -i toolsdebería ayudar a localizarlo.
Kelvin
En macOS, Catalina com.apple.pkg.CLTools_Executablessigue siendo un buen paquete para usar para esto: pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version version: 11.3.0.0.1.1574140115
phatblat
1

Estoy respondiendo a la versión más reciente (en la realidad son las herramientas en el paquete Xcode.app, pero estoy bastante seguro de que si la ruta de acceso y de salida devueltos por xcode-select -p, gcc -vy llvm-gcc -v/clang -vestán en armonía, entonces debe ser la misma, es decir,

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix

$ llvm-gcc -v
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix

$ clang -v
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix

Tenga en cuenta que llvm-gcc es un enlace a clang,

$ls -al /usr/bin/llvm-gcc
lrwxr-xr-x  1 root  wheel  5 Oct 19  2014 /usr/bin/llvm-gcc -> clang

por lo que la salida de llvm-gcc -vy clang -vdebería ser idéntica, aunque ese puede o no ser el caso para usted (consulte /programming//a/5708732/602581 para obtener más detalles)

Peter Hanley
fuente
1
La versión que generan estas herramientas no es necesariamente la misma que la versión de herramientas de línea de comandos de Xcode. Ejemplo, clang --versionregresa Apple LLVM version 7.3.0 (clang-703.0.31), mientras que el pkgutilcomando del Doc G. regresa version: 7.3.1.0.1.1461711523.
Kelvin