"L'accettazione della licenza Xcode / iOS richiede i privilegi di amministratore, si prega di rieseguire come root tramite sudo." quando si utilizza GCC


489

Durante il tentativo di compilare il mio programma C, eseguendo il comando seguente:

gcc pthread.c -o pthread

Ritorna:

Accettare la licenza Xcode / iOS richiede i privilegi di amministratore, eseguire nuovamente come root tramite sudo.

e il mio codice non viene compilato.

Perché sta succedendo e come posso risolvere questo problema?


193
sudo xcodebuild -license
Andy Barbour,

4
In realtà penso che il commento di @Andy Barbour sia la migliore risposta poiché il problema può essere risolto all'interno del terminale in questo modo. Andy: se crei una risposta, voterò per essa.
Rexford,

11
Non potrei nemmeno git initsenza farlo.
ruffin,

2
Questo dimostra ancora una volta, perché OS X è davvero un ottimo sistema per l'utente
esperto

10
questa risposta a una nuova domanda simile mostra come concordare in modo completamente automatico: sudo xcodebuild -license accept- che funziona su macOS Sierra qui, ma potrebbe non funzionare su versioni precedenti
ssc

Risposte:


808

Apri Xcode e accetta il nuovo contratto utente. Ciò stava accadendo perché è stata scaricata una nuova versione di Xcode e il nuovo accordo non è stato accettato.


78
Perché questo richiede root e perché nessuno è infastidito da questo fatto?
Kbolino,

1
@kbolino L'installazione di nuovo software / nuove versioni di software spesso richiede l'inserimento della password dell'utente. Quando esegui il nuovo compilatore, colpisci quel muro.
ericsoco,

22
@ericsoco, eseguire Xcode non dovrebbe avere NIENTE a che fare con i privilegi di root, qualunque scusa ci sia. È corretto aspettarsi che Xcode sia un'applicazione userland. Privilegi di root non necessari smorzano la vigilanza dell'utente e aiutano la proliferazione degli exploit in generale. Anche se alcuni componenti di sviluppo hardware o push vogliono privilegi di amministratore, dovrebbe essere quel componente, non l'intero ambiente di sviluppo, a richiedere privilegi. Fondamentalmente, gli sviluppatori dovrebbero essere in grado di concedere E revocare tali privilegi in qualsiasi momento. Il modo in cui funziona ora sembra un modo pigro per progettare Xcode per conto di Apple.
Vlad Didenko,

5
@VladDidenko Non hai bisogno dei privilegi di amministratore per eseguire Xcode o git. Hai bisogno dei privilegi di amministratore per accettare i termini dell'EULA Xcode per poter usare le sue applicazioni - cosa che git fa (e che hai fatto quando hai installato l'applicazione). L'escalation dei privilegi qui è simile ai siti che richiedono il codice di sicurezza di 3-4 cifre sul retro della carta di credito. Dopo aver accettato, non hai più bisogno dei privilegi di amministratore.
Attivista esaurito,

13
@SoldOutActivist Sì, lo so tutto. Comunque uso parole diverse per descriverlo. In questo modo: è irragionevole che Apple chieda i privilegi di amministratore per ottenere e registrare il consenso dell'utente. Sia dal punto di vista del fatto che non è affidabile (qualsiasi app può creare una finestra del genere e del tempo per l'avvio di Xcode) sia legalmente discutibile (in quanto sembra vincolarmi per le azioni di tutti i futuri utenti che accedono al sistema). Cattivo design. Né Apple né un utente DEVONO avere l'applicazione progettata in modo da richiedere i privilegi di amministratore al termine dell'installazione.
Vlad Didenko,

557
sudo xcodebuild -license

se ne occuperà senza problemi sulla riga di comando. Nota che dovrai scorrere manualmente la licenza e accettarne i termini alla fine, a meno che tu non aggiunga "accetta" alla riga di comando:

sudo xcodebuild -license accept

5
Questo è elegante Anche se ho usato l'altro metodo qui, in realtà preferirei questo se lo vedessi per primo.
Vic Jang,

1
Ottengo: opzione non valida
licenza

5
Ci dovrebbe essere solo un trattino @ dan-klasson: -license NOT --license
Andy Barbour

2
Mantenere i server Apple build con gestione della configurazione e provisioning non è esattamente facile, quando pacchetti come Xcode e Java JDK richiedono l'accettazione manuale di una licenza.
Saustrup,

38
Se si stanno creando soluzioni di scripting per ambienti controllati, è possibile anche inserire il parametro accept sudo xcodebuild -license accept.
tobius,

115

Mi sono bloccato mentre stavo cercando di andare a prendere ... Penso che fosse legato a Git. Ecco come è stato possibile risolverlo ...

  1. Ho inserito quanto segue nel terminale:

    sudo xcodebuild -license
  2. Questo aprirà l'accordo. Vai fino in fondo e digita "d'accordo".

Questo si prende cura di andare a prendere problemi.

È stato abbastanza interessante come fossero le cose non correlate.


4
Sì, stavo correndo git clonesu una macchina che non usavo da un minuto.
Jess,

4
Puoi semplicemente premere q per uscire e accettare se non sei propenso a leggerlo.
steve

27

L'apertura di XCode e l'accettazione della licenza risolve il problema.


Ne ho appena colpito uno dopo aver aggiornato Xcode a v7.0 ecc. E ho avuto strani errori considerando che tutto funzionava prima dell'aggiornamento con Android Studio. Questa risposta ha funzionato per me.
G O'Rilla,

15

Non devi armeggiare con nessun comando :)

Dopo aver aggiornato XCode, aprire il programma IDE Xcode. Si prega di accettare termini e condizioni.

Sei pronto per partire :))


7

Accettare la licenza Xcode / iOS richiede i privilegi di amministratore, eseguire nuovamente come root tramite sudo.

È stata installata una nuova versione di OSX o XCode e Apple desidera che tu accetti i loro Termini e condizioni. Quindi basta avviare Xcode e "Accetto" per loro.


Funziona, ma potrebbe non essere troppo evidente per gli utenti (come me) che utilizzano principalmente strumenti dalla riga di comando anziché dal desktop. Sarebbe bello se ci fosse del testo in Terminal che alterava gli utenti a questo.
karolus,

5

Segui questi passi:

  1. Terminale aperto.
  2. Immettere questo comando: sudo xcodebuild --license.
  3. Inserisci la password di sistema.
  4. Accetta la licenza.

4
La bandiera dovrebbe usare solo un trattino, cioè sudo xcodebuild -license.
circaaaron,

5

Ho avuto lo stesso problema, dopo aver accettato la licenza per l'avvio di XCode o l'esecuzione sudo xcodebuild -license acceptho dovuto riavviare il mio Mac - altrimenti non ha funzionato.


Il passaggio di riavvio è cruciale. Mi sono armeggiato per un'ora chiedendomi perché non funzionasse. Ho riavviato e tutto funziona. Grazie
skellertor il

3

Ho avuto lo stesso problema quando ho provato ad usare git.

È possibile installare git senza di essa. E dubito che gcc su mac sia veramente dipendente da XCode. E non voglio usare root per accettare qualcosa a meno che non sia sicuro di averne bisogno.

Ho disinstallato XCode andando alla cartella delle applicazioni e trascinando XCode nel cestino.

Ora i miei comandi git funzionano come al solito. Reinstallo XCode se / quando ne ho veramente bisogno.


perché l'uso del terminale per un comando git richiederebbe l'accettazione di una licenza per qualsiasi applicazione non correlata? O sono collegati in qualche modo?
Scott Duncan,

2

Sto affrontando lo stesso problema.

Il problema a causa di X-Code.

Soluzione: 1. Aprire il codice X e accettare l'accordo con l'utente (T&C). o 2. Riavvia il MAC, si risolverà automaticamente.


Benvenuti in SO! Ci sono molte risposte con la stessa soluzione, potresti esporre i tuoi vantaggi?
David García Bodego, il

0

Se hai problemi simili in Intellij, fai come altri sopra di me:

  1. Terminale aperto.
  2. Immettere questo comando: sudo xcodebuild --license.
  3. Inserisci la password di sistema.
  4. Vai alla fine del file: premi spazio (pulsante) per farlo.
  5. Digita "Accetto" per la licenza.

E il gioco è fatto. !!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.