6 votes

Problèmes avec opendiff

J'ai une application que j'ai écrite il y a 6 ans, qui comprend une fonctionnalité de comparaison de fichiers. Récemment, cela semble ignorer la commande de comparaison de fichiers. J'ai fouillé un peu dans le code, et cela utilise opendiff pour effectuer cette fonction.

Je vais essayer de plonger dans le code pour faire suite, mais ma question concerne certaines de mes découvertes.

Il y a 2 instances de opendiff

/Applications/Xcode.app/Contents/Developer/usr/bin/opendiff
-rwxr-xr-x  1 root  wheel  23712  5 Juin 13:22 /Applications/Xcode.app/Contents/Developer/usr/bin/opendiff

/usr/bin/opendiff
-rwxr-xr-x  1 root  wheel  18304 30 Mai 09:35 /usr/bin/opendiff

L'exécution du premier fonctionne comme prévu.

L'exécution du deuxième produit l'erreur suivante

xcode-select: erreur: l'outil 'opendiff' nécessite Xcode, mais le répertoire de développeur actif '/Library/Developer/CommandLineTools' est une instance des outils en ligne de commande

Cette erreur est incompréhensible (du moins pour moi), et je ne sais pas d'où elle vient.

Je soupçonne que les Command Line Tools pourraient être impliqués, et j'ai installé brew il y a 2 jours (pour obtenir un rsync à jour)

Je voudrais simplement supprimer /usr/bin/opendiff, mais je ne peux pas - probablement à cause de SIP.


Je viens de démarrer mon MacBook Pro exécutant 10.13.3 et tout semble OK.

/usr/bin/opendiff s'exécute, et lance FileMerge 2.10

11voto

David Smith Points 410

Basculez votre répertoire de développeur actif vers le bon au lieu de celui qui a été choisi (celui dans le message d'erreur) lorsque brew a installé les outils en ligne de commande avec :

xcode-select -s /Applications/Xcode.app/Contents/Developer

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X