18 votes

Suppression des mises à jour de Command Line Tools non installées dans l'AppStore

J'ai supprimé les outils de ligne de commande Xcode de ma machine en supprimant essentiellement le dossier. Cependant, AppStore affiche toujours les mises à jour des outils CLI, ce que je ne veux évidemment pas.

J'ai essayé de bien comprendre où l'AppStore regarde pour déterminer ce qui doit être mis à jour, mais je n'ai pas encore pu trouver une réponse certaine. J'ai essayé d'éditer le fichier updatejournal, mais cela n'a pas aidé, donc je l'ai restauré depuis.

J'ai commencé à soupçonner que le fait que pkgutil montre quelques CLTools -Les paquets peuvent être la cause de ce problème. Les oublier ne fonctionne pas cependant car les bombes ne sont ni dans /var/db/receipts o /Library/Receipts (le pkgutil --forget échoue essentiellement pour cette raison).

Je les ai cependant trouvés après avoir beaucoup cherché dans /System/Library/Receipts . Je ne peux cependant pas les supprimer en raison de la sécurité du système. Je peux bien sûr contourner ce problème et les supprimer pour voir si cela fonctionne, mais je ne veux pas le faire "juste pour voir".

J'aimerais trouver une solution appropriée à ce problème.

Une idée de ce que je dois faire ici ?

0 votes

1 votes

Pas tout à fait, comme je l'ai écrit en haut, j'ai supprimé le dossier, mais il semble qu'un autre commentateur de cette question ait le même problème que moi.

0 votes

Merci pour la réponse ici. Je fais un lien vers celle-ci car d'autres personnes auront le même problème. +1 ici et sur la réponse bien sûr

10voto

pranav Points 173

Il y a deux étapes pour une élimination propre

  1. Supprimez le répertoire /Library/Developer/CommandLineTools (comme mentionné ci-dessus).
  2. Rétablir les outils de ligne de commande par défaut en exécutant

xcode-select -r

Explication : Lorsque les outils de ligne de commande sont installés, le chemin d'accès aux outils de ligne de commande est défini sur "/Library/Developer/CommandLineTools". Vous pouvez le vérifier en exécutant

xcode-select -p

Même si nous supprimons le répertoire, le système ira vérifier là-bas. Une fois que vous réinitialisez le chemin et exécutez xcode-select -p, il donne une erreur

xcode-select : error : unable to get active developer directory, use sudo xcode-select --switch path/to/Xcode.app pour en définir un (ou voir man xcode-select ) Cela le ramènerait à l'état initial.

L'exécution de n'importe quelle commande, par exemple "python3 --version", sans réinitialiser le chemin d'accès, donne les résultats suivants :

erreur : l'outil 'python3' nécessite Xcode, mais le répertoire actif du développeur '/Library/Developer/CommandLineTools' est une instance d'outils de ligne de commande.

et une fois que vous aurez réinitialisé le chemin, il vous demandera d'installer les outils de ligne de commande avec :

xcode-select : note : aucun outil de développement n'a été trouvé dans '/Applications/Xcode.app', demande d'installation. Choisissez une option dans la boîte de dialogue pour télécharger les outils de développement en ligne de commande.

1 votes

Cela semble être la réponse la plus appropriée étant donné qu'elle ne nécessite pas de désactiver le SIP.

9voto

Kenny Lövrin Points 331

J'ai réussi à le réparer, il semble que comme je le soupçonnais, le problème était les boms dans les /System/Library/Receipts dossier.

J'ai donc démarré en mode de récupération, désactivé SIP, déplacé tous les fichiers de ce dossier qui avaient com.apple.pkg.CLTools* dans leur nom, et la mise à jour dans l'App Store a disparu. Puis j'ai redémarré en mode récupération pour activer SIP.

Cela ne me semble pas tout à fait juste de désactiver la sécurité, mais j'ai essayé dans ce cas, car d'autres problèmes similaires semblaient être liés à des fichiers bom persistants, donc peut-être que cela a un sens.

0 votes

Ce fichier n'existe sur aucun des 100 Macs que j'ai vérifiés au travail ce matin et qui ont tous utilisé l'App Store pour obtenir ce paquet - quelle était la date/heure de votre réception ? Je me demande s'il ne s'agit pas de l'héritage d'une ancienne installation (sans CLI) ou d'une version bêta du système d'exploitation ou des outils de développement.

0 votes

Pour être honnête, ma mémoire n'est pas totalement fraîche. J'ai toujours les fichiers dans ma corbeille et ils ont été créés le 17 novembre 2017. Je crois me souvenir d'avoir eu ce problème parce que j'exécutais une version bêta de High Sierra et Homebrew ne fonctionnait pas correctement sans les outils CLI, même si j'avais Xcode installé (cela fait des années que je n'ai pas dû installer CLI et Xcode en parallèle), j'ai donc dû les installer manuellement. Mais High Sierra est sorti en novembre, n'est-ce pas ? Quoi qu'il en soit, je pense juste à voix haute ici, je ne peux pas vraiment me souvenir avec certitude.

0 votes

De plus, à quoi faites-vous référence avec "utiliser l'app store pour obtenir ce paquet" ? Il n'existe pas dans l'App Store en tant que tel, vous devez soit l'installer avec xcode-select, soit le télécharger depuis le portail de développement (peut-être que depuis Xcode est également possible, je ne m'en souviens pas précisément).

5voto

Alex Points 1

Je viens de passer des heures sur ce problème exact et je l'ai ENFIN résolu, pour tous ceux qui liront ceci à l'avenir.

La suppression de /Library/Developer/CommandLineTools n'a pas fonctionné.

xcode-select -r n'a pas fonctionné.

Il n'y avait pas de reçus ou de boms aux endroits habituels (/var/db/receipts, /Library/Receipts, et /System/Library/Receipts).

Vous savez ce que c'était ? Les reçus étaient dans /Library/Apple/System/Library/Receipts. J'ai supprimé tout ce qui avait CLTools ou SDK dans le nom et la mise à jour du système pour le CLT a disparu. MERCI MON DIEU. Je ne sais pas si le SIP devait être désactivé pour cela ou non (je l'avais désactivé).

0 votes

Je devrais tester cela sur mon système Monterey avant de faire le grand saut vers Ventura.

4voto

Vighnesh Pai Points 89

Supprimez ce dossier et vos maux de tête disparaîtront à jamais :

/Bibliothèque/Developer/CommandLineTools

5 votes

La toute première ligne de ma question indique que j'ai supprimé le dossier.

0 votes

Pour être juste @KennyLövrin, vous n'avez pas mentionné le nom du dossier, donc Vighnesh a raison. Une modification de votre message indiquant précisément quel dossier a été supprimé permettrait de réduire le nombre de rapports comme celui-ci qui fournissent des détails.

1 votes

Je ne pense pas qu'il soit juste de dire que Vighnesh a raison, puisque Kenny a effectivement raison, en déclarant que "le dossier" a été supprimé, mais le commentaire de Vighnesh est en fait incorrect, et une lecture attentive de la question et du titre aurait révélé que cela n'avait rien à voir avec la désinstallation de CLT lui-même. Je pense que Vighnesh doit assumer une certaine responsabilité en examinant attentivement les questions avant de se précipiter avec des réponses basiques à une question qui n'a pas été réellement posée. Bien sûr, nommez le dossier précisément, mais la faute en revient à Vighnesh.

3voto

Naidis Points 31

Mon MacOS Mojave réinstallé avait exactement le même problème. J'ai installé Xcode et CLT à la fois, puis 6 ou 7 mises à jour de CLT sont sorties de System Update, me suggérant d'installer les anciennes versions de CLT.

J'ai ensuite supprimé ce dossier /Library/Developer/CommandLineTools redémarrer, toutes les mises à jour ont disparu.

Je n'ai pas enlevé les trucs du reçu.

0 votes

Ce site correspond à mes expériences au sein de dizaines d'équipes . Merci de confirmer que toutes les invites de mise à niveau ne nécessitent pas un fichier de reçu pour se produire.

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