156 votes

Comment vérifier si les outils de ligne de commande sont installés

J'ai un macbook pro avec OS X 10.8.2. XCode est installé. Je le sais car il apparaît dans le répertoire Applications. Il y a également les fichiers xcodebuild et xcode-select dans /usr/bin. J'ai besoin de savoir si les outils de ligne de commande sont installés. Existe-t-il une commande pour cela ? Que puis-je faire pour voir si XCode CLT est installé et si oui pour trouver la version installée ?

0 votes

La version de XCode est 4.6

152voto

jnovack Points 1048

10.15 Mise à jour de Catalina :

Voir la mise à jour de Yosemite.

Mise à jour de 10.14 Mojave :

Voir la mise à jour de Yosemite.

Mise à jour 10.13 High Sierra :

Voir la mise à jour de Yosemite.

Mise à jour 10.12 Sierra :

Voir la mise à jour de Yosemite.

Mise à jour de 10.11 El Capitan :

Voir la mise à jour de Yosemite.

Mise à jour de 10.10 Yosemite :

Il suffit d'entrer dans gcc ou make en ligne de commande ! OSX saura que vous n'avez pas les outils en ligne de commande et vous demandera de les installer !

Pour vérifier s'ils existent, xcode-select -p imprimera le répertoire. Alternativement, la valeur de retour sera 2 s'ils n'existent PAS, et 0 s'ils le font. Pour imprimer uniquement la valeur de retour ( Merci @Andy ) :

xcode-select -p 1>/dev/null;echo $?

Mise à jour 10.9 Mavericks :

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

10.8 Mise à jour :

Option 1 : Rob Napier suggéré d'utiliser pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI ce qui est probablement plus propre.

Option 2 : Vérifiez l'intérieur /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist pour une référence à com.apple.pkg.DeveloperToolsCLI et il énumérera la version 4.5.0 .

[Mar 12 17:04] [jnovack@yourmom ~]$ defaults read /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
{
    InstallDate = "2012-12-26 22:45:54 +0000";
    InstallPrefixPath = "/";
    InstallProcessName = Xcode;
    PackageFileName = "DeveloperToolsCLI.pkg";
    PackageGroups =     (
        "com.apple.FindSystemFiles.pkg-group",
        "com.apple.DevToolsBoth.pkg-group",
        "com.apple.DevToolsNonRelocatableShared.pkg-group"
    );
    PackageIdentifier = "com.apple.pkg.DeveloperToolsCLI";
    PackageVersion = "4.5.0.0.1.1249367152";
    PathACLs =     {
        Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
        System = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    };
}

0 votes

Merci pour la réponse. Mais cela dit si gcc est installé. N'y a-t-il aucun moyen de trouver la version de clt elle-même ?

1 votes

J'ai trouvé que l'ouverture de xcode>Préférences>Téléchargements>Composants avait une entrée Command Line Tools qui était dans l'état de mise à jour et quand je l'ai mis à jour, il montre le statut comme installé

0 votes

J'ai mis à jour la réponse. Si cela est correct, auriez-vous l'amabilité de l'accepter comme réponse ?

81voto

phyatt Points 6647

Yosemite

Vous trouverez ci-dessous quelques étapes supplémentaires sur un nouveau Mac dont certaines personnes peuvent avoir besoin. Cela complète un peu l'excellente réponse de @jnovack.

Mise à jour : Quelques autres remarques lors de la mise en place de ce système :

Assurez-vous que votre utilisateur admin a un mot de passe. Un mot de passe vide ne fonctionnera pas si vous essayez d'activer un utilisateur racine.

System Preferences > Users and Groups > (select user) > Change password

Ensuite, pour activer Root, exécutez dsenableroot dans un terminal :

$ dsenableroot
username = mac_admin_user
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.

Tapez le mot de passe de l'utilisateur admin, puis le nouveau mot de passe Root activé deux fois.

Type suivant :

sudo gcc

ou

sudo make

Il répondra avec quelque chose comme ce qui suit :

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:

You have not agreed to the Xcode license agreements. You must agree to 
both license agreements below in order to use Xcode.

Appuyez sur la touche Entrée lorsque le système vous invite à afficher le contrat de licence.

Hit the Enter key to view the license agreements at 
'/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

IMPORTANT: BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE 
FOLLOWING APPLE TERMS:

//...

Appuyez sur q pour quitter la vue du contrat de licence.

By typing 'agree' you are agreeing to the terms of the software license 
agreements. Type 'print' to print them or anything else to cancel, 
[agree, print, cancel]

Type agree . Et il se terminera par :

clang: error: no input files 

Ce qui veut dire en gros que vous n'avez pas donné make ou gcc tout fichier d'entrée.

Voici à quoi ressemblait le chèque :

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

Mavericks

Avec Mavericks, c'est un peu différent maintenant.

Lorsque les outils n'ont pas été trouvés, voici ce qu'a donné la commande pkgutil est retournée :

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

Pour installer les outils en ligne de commande, cela fonctionne très bien à partir du Terminal, avec une belle interface et tout le reste.

$ xcode-select --install

http://macops.ca/installing-command-line-tools-automatically-on-mavericks/

Quand ils ont été trouvés, c'est ce que les pkgutil est retournée :

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 

Cette commande a donné le même résultat avant et après l'installation.

$ pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

De plus, j'avais déjà sélectionné et installé le composant pour le CLT dans la section des téléchargements de xcode, mais il semble qu'il ne soit pas arrivé jusqu'au terminal...

J'espère que cela vous aidera.

0 votes

Pouvez-vous mettre à jour cette réponse pour les derniers systèmes d'exploitation ? Merci.

0 votes

J'ai appelé sudo rm -rf /Library/Developer/CommandLineTools et ensuite xcode-select --install.

0 votes

@study Vous avez obtenu /Applications/Xcode.app/Contents/Developer en exécutant xcode-select-p parce que c'est ainsi que le chemin est dans Mac Sierra.

64voto

user3476766 Points 499

Pour vérifier si les outils de ligne de commande sont installés, exécutez :

xcode-select --version

// if installed you will see the below with the version found in your system
// xcode-select version 1234.

Si les outils de ligne de commande ne sont pas installés, exécutez-les :

xcode-select --install

6 votes

Simple et efficace. C'est peut-être la meilleure réponse.

1 votes

J'ai gagné beaucoup de temps. Merci mon pote !

20voto

Paul F. Wood Points 61

Dans macOS Catalina et peut-être certaines versions antérieures, vous pouvez trouver l'endroit où les outils de ligne de commande sont installés en utilisant :

xcode-select -p alias. xcode-select --print-path

Qui, s'il est installé, répondra avec quelque chose comme :

/Library/Developer/CommandLineTools

Pour savoir quelle version vous avez installée, vous pouvez utiliser :

xcode-select -v alias. xcode-select --version

Ce qui renverra quelque chose comme :

xcode-select version 2370.

Cependant si vous essayez de le mettre à jour vers la dernière version, en supposant qu'il soit installé, en utilisant ceci :

xcode-select --install

Vous recevrez en réponse :

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Ce qui donne l'impression erronée que vous devez utiliser Spotlight pour trouver quelque chose appelé "Software Update". En fait, vous devez continuer dans le Terminal, et utiliser ceci :

softwareupdate -i -a alias. softwareupdate --install --all

Qui essaie de mettre à jour tout ce qu'il peut et pourrait bien répondre avec :

Software Update Tool

Finding available software
No new software available.

Pour savoir quelles versions des différents SDK d'Apple sont installées sur votre machine, utilisez ceci :

xcodebuild -showsdks

16voto

sahilabrar Points 409

Sur macOS Sierra (10.12) :

  1. Exécutez la commande suivante pour vérifier si CLT est installé :

    xcode-select -p

    ceci renverra le chemin vers l'outil si CLT est déjà installé. Quelque chose comme ceci -

    /Applications/Xcode.app/Contents/Developer
  2. Exécutez la commande suivante pour connaître la version de CLT :

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

    ceci renverra des informations sur la version, la sortie sera quelque chose comme ceci -

    package-id: com.apple.pkg.CLTools_Executables
    version: 8.2.0.0.1.1480973914
    volume: /
    location: /
    install-time: 1486372375

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X