web-dev-qa-db-fra.com

Comment vérifier si des 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 existe également les fichiers xcodebuild et xcode-select dans /usr/binJe dois savoir si les outils de ligne de commande sont installés ..__ commande pour cela? Que puis-je faire pour voir si XCode CLT est installé et si oui pour trouver la version installée?

79
Vivek Nandavanam

10.10 Mise à jour de Yosemite:

Il suffit d'entrer gcc ou make sur la ligne de commande! OSX saura que vous n'avez pas les outils de ligne de commande et vous invite à les installer! 

Pour vérifier s’ils existent, la valeur de retour xcode-select -p sera 2 s’ils n’existent PAS et 0 s’ils existent (ainsi que le répertoire).

10.9 Mavericks Update:

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

10.8 Mise à jour:

Option 1:Rob Napier suggère d'utiliser pkgutil --pkg-info=com.Apple.pkg.DeveloperToolsCLI, qui est probablement plus propre.

Option 2: Vérifiez dans /var/db/receipts/com.Apple.pkg.DeveloperToolsCLI.plist une référence à com.Apple.pkg.DeveloperToolsCLI et la version 4.5.0 sera répertoriée.

[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";
    };
}
73
jnovack

Yosemite

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

Mise à jour: Quelques autres remarques lors de la configuration:

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 root.

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

Ensuite, pour activer la racine, 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 Entrée lorsque vous y êtes invité pour vous montrer 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]

Tapez agree. Et puis cela se terminera par:

clang: error: no input files 

Ce qui signifie essentiellement que vous n'avez pas donné make ou gcc à aucun 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 ne sont PAS trouvés, voici ce que la commande pkgutil a renvoyée:

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

Pour installer les outils de ligne de commande, cela fonctionne bien depuis le terminal, avec un gui sympa et tout.

$ xcode-select --install

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

Quand ils ont été trouvés, voici ce que la commande pkgutil a renvoyé:

$ 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 renvoyé la même chose avant et après l'installation.

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

De plus, le composant du CLT avait déjà été sélectionné et installé dans la section des téléchargements de xcode, mais il semble que cela ne soit pas arrivé au terminal ...

J'espère que cela pourra aider.

77
phyatt

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:

xcode-select --install
17
user3476766

Sur macOS Sierra (10.12):

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

    xcode-select -p
    

    cela renverra le chemin d'accès à l'outil si CLT est déjà installé. Quelque chose comme ça - 

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

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

    cela retournera les informations de version, la sortie ressemblera à ceci -

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

Du point de vue de la programmation, les employés de Homebrew ont une vérification de l’existence de divers fichiers pour déterminer si les outils de ligne de commande sont installés Actuellement, il vérifie toujours /Library/Developer/CommandLineTools/usr/bin/git et vérifiera également /usr/include/iconv.h si la version du système d'exploitation est 10.13 ou une version antérieure.

1
Anon

Allez dans Applications> Xcode> préférences> téléchargements

Vous devriez y voir les outils de ligne de commande à installer.

1
Bruno

Je pense que la manière la plus simple qui a fonctionné pour moi de trouver des outils de ligne de commande est installée ou non, ainsi que sa version, quelle que soit la version de macOS.

$brew config

macOS: 10.14.2-x86_64
CLT: 10.1.0.0.1.1539992718
Xcode: 10.1 

Ceci lorsque les outils de ligne de commande sont correctement installés et les chemins d'accès correctement définis.

Auparavant, je suis sortie comme ci-dessous
macOS: 10.14.2-x86_64
CLT: N/A
Xcode: 10.1

CLT a été montré comme N/A en dépit de gcc et fait bien fonctionner et en dessous des sorties

$xcode-select -p              
/Applications/Xcode.app/Contents/Developer
$pkgutil --pkg-info=com.Apple.pkg.CLTools_Executables
No receipt for 'com.Apple.pkg.CLTools_Executables' found at '/'.
$brew doctor
Your system is ready to brew.

Enfin, faire xcode-select --install a résolu mon problème de brew incapable de trouver le CLT pour installer les paquets comme ci-dessous.

Installing sphinx-doc dependency: python
Warning: Building python from source:
  The bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install
0
Jagdish Adusumalli

Une explication claire peut être trouvée ici: https://derflounder.wordpress.com/2013/11/15/xcode-command-line-tools-included-with-xcode-5-0-x-on-mavericks/

Je n'ai trouvé aucune des réponses existantes ici utile.

0
P i