"Aceptar la licencia Xcode / iOS requiere privilegios de administrador, vuelva a ejecutarlo como root a través de sudo". cuando se usa GCC

489

Mientras intento compilar mi programa C, ejecutando el siguiente comando:

gcc pthread.c -o pthread

Devoluciones:

Aceptar la licencia Xcode / iOS requiere privilegios de administrador, vuelva a ejecutarlo como root a través de sudo.

y mi código no se compila.

¿Por qué sucede esto y cómo puedo solucionar este problema?

coachcal
fuente
193
sudo xcodebuild -license
Andy Barbour
44
En realidad, creo que el comentario de @Andy Barbour es la mejor respuesta, ya que el problema se puede resolver dentro de la terminal de esta manera. Andy: si creas una respuesta, votaré por ella.
Rexford
11
Ni siquiera podría git initsin hacer esto.
ruffin
2
Esto nuevamente muestra, por qué OS X es realmente un gran sistema para el usuario
avanzado
10
Esta respuesta a una pregunta más nueva y similar muestra cómo ponerse de acuerdo de manera totalmente automatizada: sudo xcodebuild -license accept- que funciona en macOS Sierra aquí, pero podría no funcionar en versiones anteriores
ssc

Respuestas:

808

Abra Xcode y acepte el nuevo acuerdo de usuario. Esto sucedía porque se descargó una nueva versión de Xcode y no se aceptó el nuevo acuerdo.

coachcal
fuente
78
¿Por qué esto requiere root, y por qué a nadie le molesta ese hecho?
kbolino
1
@kbolino Instalar nuevo software / nuevas versiones de software a menudo requiere que ingrese su contraseña de usuario. Cuando ejecutas el nuevo compilador, chocas contra ese muro.
ericsoco
22
@ericsoco, ejecutar Xcode no debería tener NADA que ver con los privilegios de root, sea cual sea la excusa que haya. Es apropiado esperar que Xcode sea una aplicación de usuario. Los privilegios de root innecesarios disminuyen la vigilancia del usuario y ayudan a la proliferación de exploits en general. Incluso si algún desarrollo de hardware o componente de inserción quiere privilegios de administrador, debe ser ese componente, no todo el entorno de desarrollo, el que solicita privilegios. De manera crucial, los desarrolladores deben poder otorgar Y revocar esos privilegios en cualquier momento. La forma en que funciona ahora parece una manera perezosa de diseñar Xcode en nombre de Apple.
Vlad Didenko
55
@VladDidenko No necesita privilegios de administrador para ejecutar Xcode o git. Necesita privilegios de administrador para aceptar los términos del CLUF de Xcode para usar sus aplicaciones, lo que hace git (y lo hizo cuando instaló la aplicación). La escalada de privilegios aquí es similar a los sitios que solicitan el código de seguridad de 3-4 dígitos en el reverso de su tarjeta de crédito. Después de aceptar, ya no necesita privilegios de administrador.
Agotado Activista
13
@SoldOutActivist Sí, sé todo eso. Sin embargo, uso diferentes palabras para describirlo. Así: no es razonable que Apple solicite privilegios de administrador para obtener y registrar el consentimiento de un usuario. Tanto desde el punto de vista de que no es confiable (cualquier aplicación puede hacer una ventana como esa y programar el inicio de Xcode) como legalmente cuestionable (ya que parece obligarme a las acciones de todos los futuros usuarios que inician sesión en el sistema). Mal diseño Ni Apple ni un usuario DEBEN tener la aplicación diseñada para exigir privilegios de administrador una vez finalizada la instalación.
Vlad Didenko
557
sudo xcodebuild -license

lo solucionará sin problemas en la línea de comando. Tenga en cuenta que tendrá que desplazarse manualmente por la licencia y aceptar sus términos al final, a menos que agregue "aceptar" a la línea de comando:

sudo xcodebuild -license accept
Andy Barbour
fuente
55
Esto es elegante Aunque utilicé el otro método aquí, en realidad preferiría este si lo viera primero.
Vic Jang
1
Obtengo: opción no válida
dan-klasson
55
Solo debería haber un guión @ dan-klasson: -license NO --license
Andy Barbour
2
Mantener servidores de compilación de Apple con administración de configuración y aprovisionamiento no es exactamente fácil, cuando paquetes como Xcode y Java JDK requieren que acepte manualmente una licencia.
Saustrup
38
Si está creando soluciones de script para entornos que controla, también puede incluir el parámetro accept sudo xcodebuild -license accept.
tobius
115

Me quedé atrapado mientras intentaba ir ... Creo que estaba relacionado con git. Aquí es cómo fue capaz de solucionarlo ...

  1. Ingresé lo siguiente en la terminal:

    sudo xcodebuild -license
  2. Esto abrirá el acuerdo. Ve hasta el final y escribe "de acuerdo".

Eso se encarga de ir a buscar problemas.

Fue bastante interesante lo poco relacionadas que estaban las cosas.

rahul
fuente
44
Sí, estaba corriendo git cloneen una máquina que no había usado en un minuto.
Jess
44
Puede presionar q para salir y aceptar si no está dispuesto a leerlo.
Steve
27

Abrir XCode y aceptar la licencia soluciona el problema.

Mr. Doomsbuster
fuente
Acabo de llegar a uno después de actualizar Xcode a v7.0, etc. y obtuve errores extraños teniendo en cuenta que todo funcionaba antes de la actualización con Android Studio. Esta respuesta funcionó para mí.
G O'Rilla
15

No necesitas jugar con ningún comando :)

Una vez que se actualiza el XCode, abra el programa Xcode IDE. Por favor acepte los términos y condiciones.

Estás listo para ir :))

basado en código
fuente
7

Aceptar la licencia Xcode / iOS requiere privilegios de administrador, vuelva a ejecutarlo como root a través de sudo.

Se instaló una nueva versión de OSX o XCode y Apple quiere que acepte sus Términos y condiciones. Así que simplemente inicie Xcode y "Acepto" a ellos.

TaxiPixi Web Admin
fuente
Funciona, pero puede no ser demasiado evidente para los usuarios (como yo) que utilizan principalmente herramientas a través de la línea de comandos en lugar del escritorio. Sería bueno si hubiera algún texto en la Terminal que altere a los usuarios a esto.
karolus
5

Sigue estos pasos:

  1. Terminal abierta
  2. Entre este mandato: sudo xcodebuild --license.
  3. Ingrese la contraseña del sistema.
  4. De acuerdo con la licencia.
Jabbir Basha
fuente
44
La bandera sólo se debe utilizar una rociada, es decir, sudo xcodebuild -license.
aboutaaron el
5

Tuve el mismo problema, después de aceptar la licencia para iniciar XCode o ejecutar sudo xcodebuild -license accepttuve que reiniciar mi Mac; de lo contrario, no funcionó.

Benjamín
fuente
El paso de reinicio es crucial. Estuve dando vueltas durante una hora preguntándome por qué no funcionó. Lo reinicié y todo funciona. Gracias
skellertor
3

Tuve el mismo problema cuando intenté usar git.

Es posible instalar git sin él. Y dudo que gcc en mac sea realmente dependiente de XCode. Y no quiero usar root para aceptar algo a menos que esté seguro de que lo necesito.

Desinstalé XCode navegando a la carpeta de aplicaciones y arrastrando XCode a la papelera.

Ahora mis comandos git funcionan como de costumbre. Reinstalaré XCode si / cuando realmente lo necesito.

Ivory Blakley
fuente
¿por qué usar el terminal para un comando git requiere que aceptes una licencia para cualquier aplicación no relacionada? ¿O están relacionados de alguna manera?
Scott Duncan
2

Estoy enfrentando el mismo problema.

El problema debido a X-Code.

Solución: 1. Abra el código X y acepte el acuerdo de usuario (T&C). o 2. Reinicie su MAC, se resolverá automáticamente.

Viplav Soni
fuente
Bienvenido a SO! Hay muchas respuestas con la misma solución, ¿podrías exponer los beneficios tuyos?
David García Bodego
0

Si tiene problemas similares en Intellij, haga lo que otros dijeron sobre mí:

  1. Terminal abierta
  2. Ingrese este comando: sudo xcodebuild --license.
  3. Ingrese la contraseña del sistema.
  4. Ir al final del archivo: presione la barra espaciadora (botón) para hacer eso.
  5. Escriba 'Aceptar' en la licencia.

¡Y ya terminaste!

Kinghizzzzz
fuente