1 votos

Tratando de instalar herramientas de línea de comandos sin Xcode

Antes era fácil instalar CommandLineTools sin Xcode. Ahora no consigo que se instale correctamente. Tenga en cuenta: esto no es una pregunta de desarrollo, sino una pregunta de instalación de software.

Hay muchas discusiones sobre temas similares, pero ninguna exactamente lo que estoy viendo.

Una respuesta corta a mi pregunta sería "ya no es posible ejecutar CommandLineTools a menos que se instale Xcode completo". Espero que no sea el caso.

He probado muchas variaciones de todos los pasos sugeridos, junto con intentos de desinstalación limpia y de volver a empezar. He recogido un montón de pasos de las siguientes fuentes:

Y probablemente más páginas que no registré.

He instalado Xcode, lo he desinstalado, he instalado y desinstalado CommandLineTools independiente, he utilizado xcode-select --switch, y más, todo en varias combinaciones.

El resultado es que cuando el Xcode completo no está instalado, al intentar ejecutar un comando, obtengo el siguiente mensaje de error o similar, dependiendo del comando:

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

Con Xcode completo, los comandos funcionan.

En muchos lugares en los hilos mencionados anteriormente, la gente se queja de tener que tener 6GB de código no deseado; esto ya no es incorrecto. La versión actual de Xcode es ahora de 10GB.

Mi uso principal de las CommandLineTools es el apoyo a los MacPorts. Como extra me gusta opendiff en algunos casos en los que mis herramientas principales están más lejos de su alcance.

¿Hay alguna solución para este problema?

EDIT: Veo que Apple ahora proporciona una forma directa de las herramientas de líneas de comandos instalados sólo como Command_Line_Tools_macOS_10.13_for_Xcode_9.4, pero es sólo para High Sierra. Mientras que yo sigo siendo un asimiento a la actualización a HS, será sólo un tiempo muy corto antes de hacer esta actualización. Esperando que sea la línea de menor resistencia.

0 votos

Hace poco tuve que hacer una construcción de software y buscaba ahorrar espacio. Los desarrolladores intentaron un montón de trucos bajo la manga y al final se rindieron y me pidieron que consiguiera Xcode. Creo que realmente depende del software. github.com/nodejs/node-gyp/issues/569 Los desarrolladores de nodejs tuvieron que hacer algunos cambios para que esto funcionara.

3voto

Bill Puntos 103

Tal vez las cosas han cambiado desde que se hizo esta pregunta originalmente, pero no tuve ningún problema para descargar las herramientas de línea de comandos desde aquí:

https://developer.apple.com/download/more/

(Lo hice después de borrar XCode para ahorrar unos 13 GB de espacio en disco).

enter image description here

0 votos

Creo que puede ser que las cosas hayan cambiado. Pude instalar las herramientas de línea de comandos de Xcode. Pero mi propósito para CLT de ejecutar MacPorts sigue siendo un poco confuso. Obtiene mensajes de error de MacPorts acerca de no tener CLT. Pero parece que funciona de todos modos, y más gente habla de simplemente ignorar esos mensajes. No estoy seguro de marcar ninguna de las respuestas como la solución específica en este momento, pero me gustaría si pudiera.

1voto

Oskar Puntos 1242

No creo que haya una solución ya que opendiff llama al programa GUI FileMerge que viene con Xcode.

Deberías usar otra herramienta de diff - quizás las herramientas gnu de homebrew o mi herramienta favorita de diff de pago que tiene una herramienta de línea de comandos - ksdiff de Caleidoscopio .

Es una central de la bondad de la interfaz gráfica de usuario para cuando las opciones de la línea de comandos no son suficientes para realizar la tarea que necesitas.

0 votos

He utilizado el opendiff de Command Line Tools durante años. Y sin Xcode. Y hay muchos lugares en la web dando instrucciones sobre cómo hacer una instalación de este tipo sin CommandLineToos. Así que la verdadera pregunta es ¿han roto recientemente esa capacidad?

0 votos

@JeffreySimon OK - la línea de comandos opendiff abre FileMerge para mí y no veo que en mis Macs sin Xcode, pero tal vez estoy de alguna manera en el mal en esa parte. La parte en la que me gusta mucho Kaleidoscope sigue en pie.

1voto

Puedes probar la solución desde aquí: Github script para instalar herramientas de Xcode 3.2.6

He utilizado esto para tener FileMerge.app sin Xcode y funciona incluso en High Sierra.

1voto

hyst329 Puntos 1

Me he pasado más de 3 horas arreglando el problema con osx 10.14

$ sudo -s
$ touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress;
PROD=$(softwareupdate -l |
  grep "\*.*Command Line" |
  head -n 1 | awk -F"*" '{print $2}' |
  sed -e 's/^ *//' |
  tr -d '\n')
softwareupdate -i "$PROD" --verbose;

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