0 votos

¿Cómo eliminar Command Line Tools manteniendo Xcode?

Recientemente compré un nuevo Mac y actualmente estoy en proceso de configurarlo como una máquina de desarrollo.

Antes de instalar Xcode, procedí a instalar:

  • Sublime Text
  • Sublime Merge

Mientras configuraba Sublime Merge, se me pidió instalar las Herramientas de Línea de Comandos de Xcode (Macintosh HD -> Biblioteca -> Desarrollador -> Herramientas de Línea de Comandos).

Luego procedí a hacerlo, y pude configurar con éxito mis repositorios en Sublime Merge.

Luego instalé Xcode que viene con las Herramientas de Línea de Comandos incluidas en su propio paquete (Aplicaciones -> Xcode -> Contenidos -> Desarrollador).

Justo después de instalar Xcode, vi que en Actualización de Software tenía una actualización para las Herramientas de Línea de Comandos, así que procedí con ello.

Estoy buscando tener una configuración limpia y me preguntaba si ahora tengo copias redundantes de las Herramientas de Línea de Comandos, si es así, ¿cómo puedo (o incluso necesito) deshacerme de las herramientas antiguas de manera segura?

2voto

notgoodatdns Puntos 16

Xcode.app proporciona un conjunto de herramientas de línea de comandos. El paquete independiente 'Xcode Command Line Tools' proporciona otro conjunto. Puedes cambiar entre ellos (ver xcode-select --help).

git, gcc y muchos comandos en /usr/bin/ en realidad son un enlace simbólico al ejecutable real de la CLT seleccionada.

La CLT independiente es casi innecesaria si tienes Xcode.app instalado. Simplemente puedes eliminar /Library/Developer/CommandLineTools para desinstalarla.

En mi caso, instaló estos paquetes (pkgutil --pkgs antes y después de la instalación)

com.apple.pkg.DevSDK_macOS1013_Public
com.apple.pkg.CLTools_Executables
com.apple.pkg.DevSDK
com.apple.pkg.CLTools_SDK_macOSSDK
com.apple.pkg.macOS_SDK_headers_for_macOS_10.14
com.apple.pkg.DevSDK_OSX109
com.apple.pkg.CLTools_SDK_macOS1013
com.apple.pkg.CLTools_SDK_macOS1014
com.apple.pkg.DevSDK_OSX1012
com.apple.pkg.DevSDK_OSX1011
com.apple.pkg.DevSDK_OSX1010

Puedes usar pkgutil --files para ver los archivos instalados. Están en /tmp o /Library/Developer/CommandLineTools.


Sin embargo,

  • brew a veces te solicita instalar la CLT independiente aunque tengas Xcode.app instalado, específicamente python. Dicen que algunas botellas (pre-compiladas) están enlazadas con la CLT independiente.

  • brew también requiere la CLT independiente cuando quiero compilar algo en un sistema no actual (Mojave después de haber sido lanzado Catalina).

Por supuesto, puedes correr el riesgo y editar la fórmula de brew o brew mismo para evitar eso.

brew edit python

  # setuptools recuerda las banderas de compilación con las que se compila python y las utiliza para
  # construir paquetes más tarde. Los sistemas exclusivos de Xcode necesitan diferentes banderas.
  pour_bottle? do
    reason <<~EOS
      La botella necesita que estén instaladas las Apple Command Line Tools.
        Puedes instalarlas, si lo deseas, con:
          xcode-select --install
    EOS
    satisfy { MacOS::CLT.installed? } # comenta esto
  end

/usr/local/Homebrew/Library/Homebrew/os/mac/xcode.rb:

      def needs_clt_installed?
        return false # <- agrega esto
        return false if latest_sdk_version?

        without_clt?
      end

0 votos

Gracias por tu respuesta detallada y exhaustiva, esto aclara las cosas bastante.

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