Déterminer la version des outils de ligne de commande xcode

25

Comment déterminer la ou les versions des outils de ligne de commande xcode dont je dispose?

J'ai essayé de faire

$ 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 version Apple LLVM est-elle la même que la version des outils de ligne de commande xcode?

Andrew Grimm
la source
+1. Il était vraiment difficile de créer une recherche Google pour trouver une réponse à cela. J'ai cherché xcode command line tools installed versionmais j'ai obtenu beaucoup de correspondances non pertinentes. Btw, la réponse de Dog G. a-t-elle fonctionné pour vous?
Kelvin

Réponses:

30

La recherche du numéro de version CLI dépend de la combinaison de l'OS particulier et des outils CLI particuliers qui sont installés. L'un d'eux devrait fonctionner:

Sur Yosemite & Mavericks:

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

sur Mountain Lion:

pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Doc G.
la source
5
S'ils changent à nouveau le nom du paquet, l'exécution pkgutil --pkgs | grep -i toolsdevrait aider à le localiser.
Kelvin
Sur macOS, Catalina com.apple.pkg.CLTools_Executablesest toujours un bon package à utiliser pour cela: pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version version: 11.3.0.0.1.1574140115
phatblat
2

Dans le terminal, faites

$ /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version

exemple de sortie:

Xcode 10.1
Build version 10B61

(adapté de https://www.garron.me/en/bits/what-xcode-version-am-i-running.html ).

EEE
la source
Utilisation de Mojave ici. xcodebuild -versionétait ce que je cherchais.
joeytwiddle
1

Je réponds contre la version plus récente (où les outils sont en fait dans le pkg Xcode.app, mais je suis sûr que si le chemin et la sortie retournés par xcode-select -p, gcc -vet llvm-gcc -v/clang -vsont harmonieux alors ils devraient être les mêmes, à savoir

$ 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

Notez que llvm-gcc est un lien vers clang,

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

donc la sortie de llvm-gcc -vet clang -vdevrait être identique bien que cela puisse ou non être le cas pour vous (voir /programming//a/5708732/602581 pour plus de détails)

Peter Hanley
la source
1
La version produite par ces outils n'est pas nécessairement la même que la version des outils de ligne de commande Xcode. Exemple, clang --versionrenvoie Apple LLVM version 7.3.0 (clang-703.0.31), tandis que la pkgutilcommande de Doc G. revient version: 7.3.1.0.1.1461711523.
Kelvin