Determinar a versão das ferramentas de linha de comando do xcode


25

Como determino quais versões das ferramentas de linha de comando do xcode eu tenho?

Eu tentei fazer

$ 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

A versão do Apple LLVM é igual à versão das ferramentas de linha de comando xcode?


+1. Foi realmente difícil criar uma pesquisa no Google para encontrar uma resposta para isso. Eu procurei, xcode command line tools installed versionmas recebi muitas correspondências irrelevantes. Aliás, a resposta de Dog G. funcionou para você?
Kelvin

Respostas:


30

A localização do número da versão da CLI depende da combinação de qual SO em particular e quais Ferramentas CLI estão instaladas. Um deles deve funcionar:

Em Yosemite e Mavericks:

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

no leão da montanha:

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

5
Se eles mudarem o nome do pkg novamente, a execução pkgutil --pkgs | grep -i toolsdeve ajudar a localizá-lo.
Kelvin

No macOS, a Catalina com.apple.pkg.CLTools_Executablesainda é um bom pacote para isso: pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version version: 11.3.0.0.1.1574140115
phatblat


1

Estou respondendo contra a versão mais recente (onde as ferramentas são realmente no pkg Xcode.app, mas eu tenho certeza que se o caminho e saída retornado por xcode-select -p, gcc -ve llvm-gcc -v/clang -vsão harmoniosas, então eles devem ser o mesmo, ou seja,

$ 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

Observe que llvm-gcc é um link para clang,

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

portanto, a saída llvm-gcc -ve clang -vdeve ser idêntica, embora isso possa ou não ser o seu caso (consulte /programming//a/5708732/602581 para obter mais detalhes)


1
A versão que essas ferramentas produzem não é necessariamente a mesma que a versão das ferramentas de linha de comando do Xcode. Exemplo, clang --versionretorna Apple LLVM version 7.3.0 (clang-703.0.31), enquanto o pkgutilcomando do Doc G. retorna version: 7.3.1.0.1.1461711523.
Kelvin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.