15 votos

Eliminación de las herramientas de línea de comandos desinstaladas de las actualizaciones de la AppStore

He eliminado las herramientas de línea de comandos de Xcode de mi máquina esencialmente eliminando la carpeta. Sin embargo, AppStore todavía muestra las actualizaciones de las herramientas CLI, que obviamente no quiero.

He estado tratando de entender correctamente donde AppStore mira para averiguar lo que necesita ser actualizado, pero no he sido capaz de encontrar una respuesta segura todavía. Intenté editar el archivo updatejournal, pero eso no ayudó, así que lo he restaurado.

Empecé a sospechar que el hecho de que pkgutil muestra algunos CLTools -Los paquetes pueden ser la causa de esto. Sin embargo, olvidarlos no funciona, ya que las bombas no están en /var/db/receipts o /Library/Receipts (el pkgutil --forget esencialmente falla debido a esto).

Sin embargo, los encontré después de mucho buscar en /System/Library/Receipts . Sin embargo, no puedo borrarlos debido a la seguridad del sistema. Por supuesto, puedo evitarlo y borrarlos para ver si funciona, pero no quiero hacerlo "sólo para ver".

Me gustaría encontrar una solución adecuada a esto.

¿Alguna idea de lo que debería hacer aquí?

0 votos

1 votos

No del todo, como he escrito en la parte superior he borrado la carpeta, pero parece que otro comentarista de esa pregunta tiene el mismo problema que yo.

0 votos

Gracias por la respuesta. Lo enlazo ya que otros tendrán el mismo problema. +1 aquí y en la respuesta por supuesto

9voto

Kenny Lövrin Puntos 136

He conseguido solucionarlo, parece que como sospechaba, el problema eran los boms del /System/Library/Receipts carpeta.

Así que arranqué en modo de recuperación, desactive el SIP, moví todos los archivos de esa carpeta que tenía com.apple.pkg.CLTools* en su nombre, y la actualización en la App Store desapareció. Entonces arranqué en la recuperación de nuevo para habilitar el SIP.

No me parece bien que se desactive la seguridad, pero lo probé en este caso, ya que otros problemas similares parecían estar relacionados con archivos bom persistentes, así que quizás tenga sentido.

0 votos

Este archivo no existe en ninguno de los 100 Macs que he comprobado en el trabajo esta mañana y que han utilizado App Store para obtener este paquete. Me pregunto si se quedó de un viejo (no CLI) instalar o una versión beta del sistema operativo o las herramientas de desarrollo.

0 votos

Para ser sincero, mi memoria no está del todo fresca. Tengo los archivos en mi Papelera todavía y tienen una creación del 17 de noviembre de 2017. Creo recordar que tuve este problema porque estaba ejecutando una beta de High Sierra y Homebrew no funcionaba correctamente sin las herramientas CLI a pesar de que tenía Xcode instalado (he tenido que instalar tanto CLI como Xcode en paralelo durante años), así que tuve que instalarlos manualmente. Pero High Sierra fue lanzado en noviembre, ¿no? De todos modos, sólo pensando en voz alta aquí, en realidad no puede recordar con seguridad.

0 votos

Además, ¿a qué te refieres con "usar la tienda de aplicaciones para conseguir este paquete"? No existe en la App Store por sí mismo, tienes que instalarlo con xcode-select o descargarlo desde el portal de desarrollo (tal vez desde dentro de Xcode también es posible, no puedo recordar eso específicamente).

8voto

pranav Puntos 43

Hay 2 pasos para la eliminación limpia

  1. Elimine el directorio /Library/Developer/CommandLineTools (como se mencionó anteriormente).
  2. Restablecer las herramientas de línea de comandos por defecto ejecutando

xcode-select -r

Explicación: Cuando se instalan las herramientas de línea de comandos, la ruta para las herramientas de línea de comandos se establece en "/Library/Developer/CommandLineTools". Esto se puede comprobar ejecutando

xcode-select -p

Incluso si eliminamos el directorio, el sistema iría a comprobarlo allí. Una vez que se restablece la ruta y se ejecuta xcode-select -p, da un error

xcode-select: error: no se puede obtener el directorio activo de desarrolladores, utilice sudo xcode-select --switch path/to/Xcode.app para establecer uno (o ver man xcode-select ) Esto lo llevaría al estado inicial.

Ejecutar cualquier comando, digamos "python3 --versión" sin restablecer la ruta daría:

error: la herramienta 'python3' requiere Xcode, pero el directorio de desarrolladores activo '/Library/Developer/CommandLineTools' es una instancia de herramientas de línea de comandos

y una vez que restablezca la ruta, le pedirá que instale las herramientas de línea de comandos junto con :

xcode-select: nota: no se han encontrado herramientas de desarrollo en '/Applications/Xcode.app', solicitando la instalación. Elija una opción en el diálogo para descargar las herramientas de desarrollo de la línea de comandos.

1 votos

Esta parece ser la respuesta más apropiada dado que no requiere desactivar el SIP.

5voto

Kevin Puntos 61

Acabo de pasar horas en este problema exacto y finalmente lo descubrí, para cualquiera que lea esto en el futuro.

Borrar /Library/Developer/CommandLineTools no funcionó.

xcode-select -r no funcionó.

No había recibos ni boms en los lugares habituales (/var/db/recibos, /Biblioteca/Recibos y /Sistema/Biblioteca/Recibos).

¿Sabes lo que era? Los recibos estaban en /Library/Apple/System/Library/Receipts. Quité todo lo que tuviera CLTools o SDK en el nombre y desapareció la actualización del sistema para el CLT. GRACIAS A DIOS. No estoy seguro de si SIP necesitaba ser desactivado para esto o no (lo tenía desactivado).

0 votos

Debería probarlo en mi sistema Monterey antes de lanzarme a Ventura

0 votos

¿qué es CLTools? ¿puede describirlo paso a paso? por favor, ayúdeme

4voto

Vighnesh Pai Puntos 29

Borra esta carpeta y tus dolores de cabeza desaparecerán para siempre:

/Librería/Developer/CommandLineTools

5 votos

La primera línea de mi pregunta dice que he eliminado la carpeta.

0 votos

Para ser justos @KennyLövrin no mencionaste el nombre de la carpeta así que Vighnesh tiene razón. Una edición de tu post sobre precisamente qué carpeta se eliminó reduciría los informes como este que proporcionan detalles.

1 votos

No creo que sea justo decir que Vighnesh está en lo cierto, ya que Kenny está realmente en lo cierto, al afirmar que "la carpeta" fue eliminada, pero el comentario de Vighnesh es realmente incorrecto, y una lectura cuidadosa de la pregunta y el título habría revelado que esto no tenía nada que ver con la desinstalación de CLT en sí. Creo que Vighnesh tiene que asumir alguna responsabilidad por considerar realmente las preguntas con cuidado antes de apresurarse a dar respuestas básicas a una pregunta que en realidad no fue formulada. Por supuesto que hay que nombrar la carpeta con precisión, pero la culpa es de Vighnesh.

3voto

DJYod Puntos 158

Mi MacOS Mojave reinstalado tenía exactamente el mismo problema. Instalé Xcode y CLT ambos, entonces 6 o 7 actualizaciones de CLT salen de System Update, sugiriéndome que instale versiones antiguas de CLT.

A continuación, he eliminado esta carpeta /Library/Developer/CommandLineTools , reiniciar, todas las actualizaciones han desaparecido.

No he quitado las cosas del recibo.

0 votos

Este coincide con mis experiencias en docenas de equipos . Gracias por confirmar que no todos los avisos de actualización necesitan un archivo de recibos para ocurrir.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X