1 votos

¿Cómo distinguir el hecho de que el usuario haya cancelado la instalación de las 'Command Line Developer Tools' del error de instalación?

Necesito hacer un bash script que, en caso de error, reinicie la instalación de herramientas de línea de comandos, y en caso de que el usuario cancele la instalación, entonces detenga el script. He pensado en analizar el código de error pero no puedo conseguirlo ya que xcode-select inicia 'Install Command Line Developer Tools.app' como proceso hijo. No puedo ejecutar 'Install Command Line Developer Tools.app' debido al siguiente error

Instalar herramientas de desarrollo de línea de comandos[68192:4620947] *** CFMessagePort: bootstrap_register(): falló 1100 (0x44c) 'Permiso denegado', port = 0x9107, name = 'com.apple.dt.CommandLineTools.installondemand' Consulte /usr/include/servers/bootstrap_defs.h para ver los códigos de error.

¿Qué más puedo probar?

Mi actual script es:

pid=$(ps -ef | grep "Install Command Line Developer Tools" | grep -v grep | awk '{print $2}' | xargs -r)
until [[ -z $pid ]]; do
    sleep 5;
    pid=$(ps -ef | grep "Install Command Line Developer Tools" | grep -v grep | awk '{print $2}' | xargs -r)
done
if [[ ! -e "/Library/Developer/CommandLineTools/usr/bin/git" ]] ; then
    echo "Error: User canceled xcode command line tools installation or xcode command line tools installation failed."
fi

1voto

Marc Wilson Puntos 146

Vea la respuesta aquí:

https://apple.stackexchange.com/a/445153/89967

Puede buscar el recibo que crea el instalador, o puede utilizar xcode-select para comprobar el nombre de la ruta en la que se instaló el CLT.

Debería ser menos frágil para comprobar el recibo.

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