„Wyrażenie zgody na licencję Xcode / iOS wymaga uprawnień administratora, uruchom ponownie jako root za pośrednictwem sudo.” podczas korzystania z GCC


489

Podczas próby skompilowania mojego programu w C, uruchom następującą komendę:

gcc pthread.c -o pthread

Zwroty:

Wyrażenie zgody na licencję Xcode / iOS wymaga uprawnień administratora, uruchom ponownie jako root za pośrednictwem sudo.

a mój kod się nie kompiluje.

Dlaczego tak się dzieje i jak mogę rozwiązać ten problem?


193
sudo xcodebuild -license
Andy Barbour,

4
Właściwie uważam, że komentarz @Andy Barbour jest najlepszą odpowiedzią, ponieważ problem można rozwiązać w ten sposób w terminalu. Andy: jeśli stworzysz odpowiedź, zagłosuję na nią.
rexford,

11
Nie mogłem nawet git inittego zrobić.
ruffin

2
To ponownie pokazuje, dlaczego OS X jest naprawdę świetnym systemem dla zaawansowanego użytkownika ...
Lukas

10
ta odpowiedź na nowsze, podobne pytanie pokazuje, jak zgodzić się w pełni zautomatyzowany sposób: sudo xcodebuild -license accept- który działa tutaj na macOS Sierra, ale może nie działać na wcześniejszych wersjach
ssc

Odpowiedzi:


808

Otwórz Xcode i zaakceptuj nową umowę użytkownika. Działo się tak, ponieważ pobrano nową wersję Xcode, a nowa umowa nie została zaakceptowana.


78
Dlaczego wymaga to rootowania i dlaczego nikomu nie przeszkadza ten fakt?
kbolino

1
@kbolino Instalowanie nowego oprogramowania / nowych wersji oprogramowania często wymaga podania hasła użytkownika. Po uruchomieniu nowego kompilatora uderzasz w tę ścianę.
ericsoco

22
@ericsoco, uruchomienie Xcode nie powinno mieć nic wspólnego z uprawnieniami roota, bez względu na jakąkolwiek wymówkę. Należy oczekiwać, że Xcode będzie aplikacją dla użytkowników. Niepotrzebne uprawnienia roota osłabiają czujność użytkowników i ogólnie pomagają w wykorzystaniu proliferacji. Nawet jeśli jakiś komponent programistyczny lub sprzętowy chce uprawnień administratora, powinien to być ten komponent, a nie całe środowisko programistyczne, które żąda uprawnień. Co najważniejsze, twórcy powinni móc ORAZ odwołać te przywileje w dowolnym momencie. Sposób, w jaki działa, wygląda teraz na leniwy sposób na architekt Xcode w imieniu Apple.
Vlad Didenko

5
@VladDidenko Nie potrzebujesz uprawnień administratora, aby uruchomić Xcode lub git. Potrzebujesz uprawnień administratora, aby zgodzić się na warunki umowy EULA Xcode, aby móc korzystać z jej aplikacji - co robi git (i robiłeś to po zainstalowaniu aplikacji). Eskalacja uprawnień tutaj jest podobna do stron z prośbą o 3-4 cyfrowy kod zabezpieczający z tyłu karty kredytowej. Po uzgodnieniu nie potrzebujesz już uprawnień administratora.
Wyprzedany działacz

13
@SoldOutActivist Tak, wiem to wszystko. Jednak używam różnych słów, aby to opisać. W ten sposób: nieuzasadnione jest, że Apple prosi administratora o uprawnienia do uzyskania i zarejestrowania zgody użytkownika. Zarówno z tego powodu, że nie jest to godne zaufania (każda aplikacja może zrobić takie okno i czas do uruchomienia Xcode) i jest prawnie wątpliwe (ponieważ wydaje się, że wiąże mnie to z działaniami wszystkich przyszłych użytkowników logujących się do systemu). Zły projekt. Ani Apple, ani użytkownik NIE POTRZEBUJE, aby aplikacja została zaprojektowana w taki sposób, aby wymagać uprawnień administratora po zakończeniu instalacji.
Vlad Didenko,

557
sudo xcodebuild -license

zajmie się tym bez problemu w linii poleceń. Pamiętaj, że musisz ręcznie przewinąć licencję i zaakceptować jej warunki na końcu, chyba że dodasz „zaakceptuj” w wierszu poleceń:

sudo xcodebuild -license accept

5
To jest eleganckie. Chociaż użyłem tutaj drugiej metody, wolałbym tę, gdybym ją najpierw zobaczył.
Vic Jang,

1
Dostaję: nieprawidłowa opcja
dan-klasson

5
Powinien być tylko jeden myślnik @ dan-klasson: -license NIE --license
Andy Barbour

2
Utrzymanie serwerów kompilacji Apple z zarządzaniem konfiguracją i obsługą administracyjną nie jest łatwe, gdy pakiety takie jak Xcode i Java JDK wymagają ręcznego zaakceptowania licencji.
Saustrup

38
Jeśli tworzysz rozwiązania skryptowe dla środowisk, które kontrolujesz, możesz również wprowadzić parametr accept sudo xcodebuild -license accept.
tobius

115

Utknąłem, gdy próbowałem iść ... Myślę, że to było związane z git. Oto, jak udało się to naprawić ...

  1. Wprowadziłem następujące w terminalu:

    sudo xcodebuild -license
  2. Spowoduje to otwarcie umowy. Idź do końca i wpisz „zgódź się”.

To załatwia problemy.

To było dość interesujące, jak niepowiązane były ze sobą rzeczy.


4
Tak, działałem git clonena maszynie, której nie używałem od minuty.
Jess,

4
Możesz po prostu nacisnąć q, aby wyjść i wyrazić zgodę, jeśli nie masz ochoty go przeczytać.
steve

27

Otwarcie XCode i zaakceptowanie licencji rozwiązuje problem.


Właśnie trafiłem jeden po uaktualnieniu Xcode do wersji 7.0 itd. I wystąpiły dziwne błędy, biorąc pod uwagę, że wszystko działało przed aktualizacją systemu Android Studio. Ta odpowiedź zadziałała dla mnie.
G O'Rilla,

15

Nie musisz bawić się żadnym poleceniem :)

Po zaktualizowaniu XCode otwórz program Xcode IDE. Proszę zaakceptować warunki.

Wszystko gotowe do drogi :))


7

Wyrażenie zgody na licencję Xcode / iOS wymaga uprawnień administratora, ponownie uruchom jako root sudo.

Zainstalowano nową wersję OSX lub XCode i Apple chce, abyś zaakceptował ich Warunki. Więc po prostu uruchom Xcode i „Zgadzam się”.


Działa, ale może nie być zbyt oczywiste dla użytkowników (takich jak ja), którzy używają narzędzi głównie za pomocą wiersza poleceń zamiast pulpitu. Byłoby dobrze, gdyby w Terminalu był jakiś tekst zmieniający użytkowników.
karolus

5

Wykonaj następujące kroki:

  1. Otwórz terminal.
  2. Wpisz polecenie: sudo xcodebuild --license.
  3. Wprowadź hasło systemowe.
  4. Zaakceptuj licencję.

4
Flaga powinna używać tylko jednego myślnika, tj sudo xcodebuild -license.
aboutaaron

5

Miałem ten sam problem, po zaakceptowaniu licencji na uruchomienie XCode lub uruchomieniu sudo xcodebuild -license acceptmusiałem ponownie uruchomić komputer Mac - w przeciwnym razie nie zadziałał.


Krok ponownego uruchomienia jest kluczowy. Szukałem przez godzinę, zastanawiając się, dlaczego to nie zadziałało. Uruchomiłem ponownie i wszystko działa. Dziękuję
skellertor

3

Miałem ten sam problem, gdy próbowałem użyć git.

Bez niego można zainstalować git. I wątpię, aby gcc na Macu naprawdę zależało od XCode. I nie chcę używać roota, aby coś zaakceptować, chyba że jestem pewien, że tego potrzebuję.

Odinstalowałem XCode, przechodząc do folderu aplikacji i przeciągając XCode do kosza.

Teraz moje polecenia git działają jak zwykle. Ponownie zainstaluję XCode, jeśli będę go potrzebować.


dlaczego używanie terminalu do komendy git wymagałoby akceptacji licencji na dowolną niepowiązaną aplikację? A może są w jakiś sposób spokrewnieni?
Scott Duncan

2

Mam do czynienia z tym samym problemem.

Problem z powodu X-Code.

Rozwiązanie: 1. Otwórz kod X i zaakceptuj umowę użytkownika. lub 2. Uruchom ponownie komputer MAC, rozwiąże się automatycznie.


Witamy w SO! Istnieje wiele odpowiedzi na to samo rozwiązanie, czy mógłbyś odkryć swoje zalety?
David García Bodego

0

Jeśli masz podobne problemy w Intellij, zrób to, co inni powiedzieli przede mną:

  1. Otwórz terminal.
  2. Wpisz to polecenie: sudo xcodebuild --license.
  3. Wprowadź hasło systemowe.
  4. Idź na koniec pliku: Naciśnij spację (przycisk), aby to zrobić.
  5. Wpisz „Zgadzam się” do licencji.

I gotowe. !!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.