"Um der Xcode / iOS-Lizenz zuzustimmen, sind Administratorrechte erforderlich. Führen Sie sie als Root über sudo erneut aus." bei Verwendung von GCC


489

Führen Sie beim Versuch, mein C-Programm zu kompilieren, den folgenden Befehl aus:

gcc pthread.c -o pthread

Kehrt zurück:

Für die Zustimmung zur Xcode / iOS-Lizenz sind Administratorrechte erforderlich. Führen Sie diese als Root über sudo erneut aus.

und mein Code wird nicht kompiliert.

Warum passiert das und wie kann ich dieses Problem beheben?


193
sudo xcodebuild -license
Andy Barbour

4
Eigentlich denke ich, dass der Kommentar von @Andy Barbour die beste Antwort ist, da das Problem auf diese Weise im Terminal gelöst werden kann. Andy: Wenn du eine Antwort erstellst, werde ich dafür stimmen.
Rexford

11
Ich könnte nicht einmal git initohne das tun.
Ruffin

2
Dies zeigt erneut, warum OS X wirklich ein großartiges System für den Power-User ist ...
Lukas

10
Diese Antwort auf eine neuere, ähnliche Frage zeigt, wie man vollautomatisch zustimmt: sudo xcodebuild -license accept- was hier unter macOS Sierra funktioniert, aber möglicherweise nicht auf früheren Versionen
ssc

Antworten:


808

Öffnen Sie Xcode und akzeptieren Sie die neue Benutzervereinbarung. Dies geschah, weil eine neue Version von Xcode heruntergeladen wurde und die neue Vereinbarung nicht akzeptiert wurde.


78
Warum erfordert dies root und warum stört das niemand?
Kbolino

1
@kbolino Für die Installation neuer Software / neuer Softwareversionen müssen Sie häufig Ihr Benutzerkennwort eingeben. Wenn Sie den neuen Compiler ausführen, stoßen Sie an diese Wand.
Ericsoco

22
@ericsoco, das Ausführen von Xcode sollte NICHTS mit Root-Rechten zu tun haben, egal welche Entschuldigung es gibt. Es ist richtig zu erwarten, dass Xcode eine Userland-Anwendung ist. Unnötige Root-Rechte dämpfen die Wachsamkeit der Benutzer und tragen dazu bei, die Verbreitung von Exploits im Allgemeinen auszunutzen. Selbst wenn eine Hardwareentwicklungs- oder Push-Komponente Administratorrechte wünscht, sollte diese Komponente und nicht die gesamte Entwicklungsumgebung Berechtigungen anfordern. Entscheidend ist, dass Entwickler diese Berechtigungen jederzeit gewähren UND widerrufen können. Die Art und Weise, wie es jetzt funktioniert, scheint eine faule Art zu sein, Xcode im Auftrag von Apple zu entwickeln.
Vlad Didenko

5
@VladDidenko Sie benötigen keine Administratorrechte, um Xcode oder Git auszuführen. Sie benötigen Administratorrechte, um den Bedingungen des Xcode EULA zuzustimmen, um seine Anwendungen verwenden zu können - was git tut (und Sie haben es getan, als Sie die Anwendung installiert haben). Die Eskalation von Berechtigungen ähnelt Websites, die nach dem 3-4-stelligen Sicherheitscode auf der Rückseite Ihrer Kreditkarte fragen. Nachdem Sie zugestimmt haben, benötigen Sie keine Administratorrechte mehr.
Aktivierter Aktivist

13
@SoldOutActivist Ja, das weiß ich alles. Ich benutze jedoch andere Wörter, um es zu beschreiben. So: Es ist unvernünftig, dass Apple Administratorrechte anfordert, um eine Benutzereinwilligung zu erhalten und aufzuzeichnen. Sowohl unter dem Gesichtspunkt, dass es nicht vertrauenswürdig ist (jede App kann ein solches Fenster erstellen und den Start von Xcode zeitlich festlegen) als auch rechtlich fragwürdig (da es mich an die Aktionen aller zukünftigen Benutzer zu binden scheint, die sich am System anmelden). Schlechtes Design. Weder Apple noch ein Benutzer MÜSSEN die Anwendung so entwickeln, dass nach Abschluss der Installation Administratorrechte erforderlich sind.
Vlad Didenko

557
sudo xcodebuild -license

wird sich ohne Probleme in der Kommandozeile darum kümmern. Beachten Sie, dass Sie manuell durch die Lizenz scrollen und den Bedingungen am Ende zustimmen müssen, es sei denn, Sie fügen der Befehlszeile "Akzeptieren" hinzu:

sudo xcodebuild -license accept

5
Das ist elegant. Obwohl ich hier die andere Methode verwendet habe, würde ich diese tatsächlich bevorzugen, wenn ich sie zuerst sehen würde.
Vic Jang

1
Ich bekomme: ungültige Option
dan-klasson

5
Es sollte nur einen Strich @ dan-klasson geben: -license NICHT --license
Andy Barbour

2
Die Wartung von Apple Build-Servern mit Konfigurationsverwaltung und -bereitstellung ist nicht gerade einfach, wenn für Pakete wie Xcode und Java JDK eine Lizenz manuell akzeptiert werden muss.
Saustrup

38
Wenn Sie Skriptlösungen für Umgebungen erstellen, die Sie steuern, können Sie auch den Parameter accept eingeben sudo xcodebuild -license accept.
Tobius

115

Ich steckte fest, als ich versuchte, es zu versuchen ... Ich denke, es hing mit git zusammen. Hier ist, wie es behoben werden konnte ...

  1. Ich habe im Terminal Folgendes eingegeben:

    sudo xcodebuild -license
  2. Dies wird die Vereinbarung öffnen. Gehen Sie bis zum Ende und geben Sie "zustimmen" ein.

Das kümmert sich um Probleme.

Es war ziemlich interessant, wie wenig miteinander zu tun hatte.


4
Ja, ich lief git cloneauf einer Maschine, die ich seit einer Minute nicht mehr benutzt hatte.
Jess

4
Sie können einfach q drücken, um zu beenden und zuzustimmen, wenn Sie nicht bereit sind, es zu lesen.
Steve

27

Das Öffnen von XCode und das Akzeptieren der Lizenz behebt das Problem.


Ich habe gerade einen getroffen, nachdem ich Xcode auf v7.0 usw. aktualisiert habe, und habe seltsame Fehler erhalten, wenn man bedenkt, dass vor dem Upgrade mit Android Studio alles funktioniert hat. Diese Antwort hat bei mir funktioniert.
G O'Rilla

15

Sie müssen mit keinem Befehl herumspielen :)

Öffnen Sie nach der Aktualisierung des XCode das Programm Xcode IDE. Bitte akzeptieren Sie die Allgemeinen Geschäftsbedingungen.

Sie sind bereit zu gehen :))


7

Für die Zustimmung zur Xcode / iOS-Lizenz sind Administratorrechte erforderlich. Führen Sie diese als root über erneut aus sudo .

Eine neue Version von OSX oder XCode wurde installiert und Apple möchte, dass Sie den Allgemeinen Geschäftsbedingungen zustimmen. Starten Sie einfach Xcode und stimmen Sie ihnen zu.


Es funktioniert, ist aber für Benutzer (wie mich), die Tools hauptsächlich über die Befehlszeile anstelle des Desktops verwenden, möglicherweise nicht allzu offensichtlich. Wäre gut, wenn im Terminal Text vorhanden wäre, der die Benutzer dazu ändert.
Karolus

5

Folge diesen Schritten:

  1. Terminal öffnen.
  2. Geben Sie diesen Befehl ein : sudo xcodebuild --license.
  3. Geben Sie das Systemkennwort ein.
  4. Stimmen Sie der Lizenz zu.

4
Die Flagge sollte nur einen Bindestrich verwenden, dh sudo xcodebuild -license.
Aboutaaron

5

Ich hatte das gleiche Problem, nachdem ich die Lizenz akzeptiert hatte, XCode sudo xcodebuild -license acceptzu starten oder auszuführen, musste ich meinen Mac neu starten - sonst funktionierte es nicht.


Der Neustartschritt ist entscheidend. Ich fummelte eine Stunde lang herum und fragte mich, warum es nicht funktionierte. Ich habe neu gestartet und alles funktioniert. Vielen Dank
Skellertor

3

Ich hatte das gleiche Problem, als ich versuchte, Git zu verwenden.

Es ist möglich, Git ohne es zu installieren. Und ich bezweifle, dass gcc auf dem Mac wirklich von XCode abhängt. Und ich möchte root nicht verwenden, um etwas zu akzeptieren, es sei denn, ich bin sicher, dass ich es brauche.

Ich habe XCode deinstalliert, indem ich zum Anwendungsordner navigiert und XCode in den Papierkorb gezogen habe.

Jetzt funktionieren meine Git-Befehle wie gewohnt. Ich werde XCode neu installieren, wenn ich es wirklich brauche.


Warum müssen Sie für die Verwendung des Terminals für einen Git-Befehl eine Lizenz für eine nicht verwandte Anwendung akzeptieren? Oder sind sie irgendwie verwandt?
Scott Duncan

2

Ich stehe vor dem gleichen Problem.

Das Problem wegen X-Code.

Lösung: 1. Öffnen Sie den X-Code und akzeptieren Sie die Benutzervereinbarung (AGB). oder 2. Starten Sie Ihren MAC neu. Er wird automatisch aufgelöst.


Willkommen bei SO! Es gibt viele Antworten mit derselben Lösung. Könnten Sie die Vorteile Ihrer Lösung aufzeigen?
David García Bodego

0

Wenn Sie ähnliche Probleme in Intellij haben, gehen Sie wie oben beschrieben vor:

  1. Terminal öffnen.
  2. Geben Sie diesen Befehl ein: sudo xcodebuild --license.
  3. Geben Sie das Systemkennwort ein.
  4. Zum Ende der Datei gehen: Drücken Sie dazu die Leertaste (Taste).
  5. Geben Sie 'Zustimmen' für die Lizenz ein.

Und du bist fertig. !!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.