“Concordar com a licença do Xcode / iOS requer privilégios de administrador, execute novamente como root via sudo.” ao usar o GCC

489

Ao tentar compilar meu programa C, execute o seguinte comando:

gcc pthread.c -o pthread

Devoluções:

Concordar com a licença Xcode / iOS requer privilégios de administrador, execute novamente como root via sudo.

e meu código não compila.

Por que isso está acontecendo e como posso corrigir esse problema?

coachcal
fonte
193
sudo xcodebuild -license
Andy Barbour
4
Na verdade, acho que o comentário de Andy Barbour é a melhor resposta, já que o problema pode ser resolvido dentro do terminal dessa maneira. Andy: se você criar uma resposta, votarei nela.
Rexford
11
Eu não poderia mesmo git initsem fazer isso.
Ruffin
2
Isto novamente mostra, porque OS X é realmente um grande sistema para o usuário poder ...
Lukas
10
esta resposta a uma mais recente, pergunta semelhante mostra como a concordar de forma totalmente automatizada: sudo xcodebuild -license accept- que funciona no MacOS Sierra aqui, mas pode não funcionar em versões anteriores
SSC

Respostas:

808

Abra o Xcode e aceite o novo contrato de usuário. Isso estava acontecendo porque uma nova versão do Xcode foi baixada e o novo contrato não foi aceito.

coachcal
fonte
78
Por que isso requer raiz e por que ninguém se incomoda com esse fato?
Kbolino 08/09/2015
1
@kbolino A instalação de um novo software / novas versões de software geralmente exige que você digite sua senha de usuário. Quando você executa o novo compilador, você atinge esse muro.
ericsoco
22
@ericsoco, rodar o Xcode não deve ter nada a ver com privilégios de root, qualquer que seja a desculpa. É apropriado esperar que o Xcode seja um aplicativo da terra do usuário. Privilégios de raiz desnecessários diminuem a vigilância do usuário e ajudam a explorar a proliferação em geral. Mesmo se algum componente de desenvolvimento ou push de hardware desejar privilégios de administrador, deve ser esse componente, não o ambiente de desenvolvimento inteiro, que solicita privilégios. Fundamentalmente, os desenvolvedores devem poder conceder E revogar esses privilégios a qualquer momento. A maneira como funciona agora parece uma maneira preguiçosa de projetar o Xcode em nome da Apple.
Vlad Didenko 22/09
5
@VladDidenko Você não precisa de privilégios de administrador para executar o Xcode ou o git. Você precisa de privilégios de administrador para concordar com os termos do Xcode EULA para usar seus aplicativos - o que o git faz (e você fez quando instalou o aplicativo). A escalação de privilégios aqui é semelhante a sites que solicitam o código de segurança de 3 a 4 dígitos na parte de trás do seu cartão de crédito. Depois de concordar, você não precisa mais de privilégios de administrador.
Vendido para fora Activist
13
@SoldOutActivist Sim, eu sei tudo isso. No entanto, uso palavras diferentes para descrevê-lo. Assim: não é razoável que a Apple solicite privilégios de administrador para obter e registrar o consentimento do usuário. Tanto do ponto em que não é confiável (qualquer aplicativo pode abrir uma janela assim e cronometrar até o início do Xcode) quanto legalmente questionável (como parece me vincular a ações de todos os futuros usuários que efetuam login no sistema). Projeto ruim. Nem a Apple nem o usuário PRECISAM ter o aplicativo projetado de forma a exigir privilégios de administrador após o término da instalação.
26715 Vlad Vladenko
557
sudo xcodebuild -license

cuidará disso sem problemas na linha de comando. Observe que você precisará rolar manualmente a licença e concordar com seus termos no final, a menos que adicione "accept" à linha de comando:

sudo xcodebuild -license accept
Andy Barbour
fonte
5
Isso é elegante. Embora eu tenha usado o outro método aqui, eu realmente preferiria esse se o visse primeiro.
Vic Jang
1
Eu recebo: opção inválida --license
dan-klasson
5
Deve haver apenas um traço @ dan-Klasson: -license NÃO --license
Andy Barbour
2
Manter servidores de construção da Apple com gerenciamento e provisionamento de configuração não é exatamente fácil, quando pacotes como Xcode e Java JDK exigem que você aceite manualmente uma licença.
Saustrup 18/09/2015
38
Se você estiver criando soluções de script para ambientes que você controla, também poderá lançar o parâmetro accept sudo xcodebuild -license accept.
tobius 28/09/2015
115

Fiquei preso enquanto tentava ir ... acho que estava relacionado ao git. Aqui está como foi capaz de corrigi-lo ...

  1. Entrei o seguinte no terminal:

    sudo xcodebuild -license
  2. Isso abrirá o contrato. Vá até o final e digite "concordo".

Isso cuida de ir buscar problemas.

Foi muito interessante o quanto as coisas não estavam relacionadas.

rahul
fonte
4
Sim, eu estava rodando git cloneem uma máquina que não usava há um minuto.
Jess
4
Você pode simplesmente pressionar q para sair e concordar, se não estiver disposto a lê-lo.
steve
27

Abrir o XCode e aceitar a licença corrige o problema.

Mr. Doomsbuster
fonte
Acabei de acertar um após atualizar o Xcode para a v7.0 etc. e obtive erros estranhos, considerando que tudo estava funcionando antes da atualização do Android Studio. Essa resposta funcionou para mim.
L O'Rilla
15

Você não precisa mexer em nenhum comando :)

Depois que o XCode for atualizado, abra o programa IDE do Xcode. Aceite os termos e condições.

Você está pronto para ir :))

codebased
fonte
7

Concordar com a licença Xcode / iOS requer privilégios de administrador, execute novamente como root via sudo.

Uma nova versão do OSX ou XCode foi instalada e a Apple deseja que você concorde com os Termos e Condições. Então, basta iniciar o Xcode e "Concordar" com eles.

TaxiPixi Web Admin
fonte
Funciona, mas pode não ser muito aparente para usuários (como eu), que usam principalmente ferramentas pela linha de comando, em vez da área de trabalho. Seria bom se houvesse algum texto no Terminal alterando os usuários para isso.
karolus
5

Siga esses passos:

  1. Terminal aberto.
  2. Digite este comando: sudo xcodebuild --license.
  3. Digite a senha do sistema.
  4. Concorde com a licença.
Jabbir Basha
fonte
4
A bandeira deve usar apenas um traço, ou seja sudo xcodebuild -license,.
precisa saber é o seguinte
5

Eu tive o mesmo problema, depois de aceitar a licença de lançamento do XCode ou em execução, sudo xcodebuild -license accepttive que reiniciar o meu Mac - caso contrário, não funcionou.

Benjamin
fonte
A etapa de reinicialização é crucial. Eu me atrapalhei por uma hora me perguntando por que não funcionou. Eu reiniciei e tudo funcionou. Obrigado
skellertor 19/03
3

Eu tive o mesmo problema quando tentei usar o git.

É possível instalar o git sem ele. E duvido que o gcc no mac seja verdadeiramente dependente do XCode. E não quero usar o root para aceitar algo, a menos que tenha certeza de que preciso.

Desinstalei o XCode navegando até a pasta de aplicativos e arrastando o XCode para a lixeira.

Agora meus comandos git funcionam como de costume. Vou reinstalar o XCode se / quando eu realmente precisar.

Ivory Blakley
fonte
por que usar o terminal para um comando git exigiria que você aceitasse uma licença para qualquer aplicativo não relacionado? Ou eles estão relacionados de alguma forma?
Scott Duncan
2

Estou enfrentando o mesmo problema.

O problema por causa do código X.

Solução: 1. Abra o código X e aceite o contrato do usuário (T&C). ou 2. Reinicie o seu MAC, ele será resolvido automaticamente.

Viplav Soni
fonte
Bem-vindo ao SO! Existem muitas respostas com a mesma solução. Você poderia expor seus benefícios?
David García Bodego 26/12/19
0

Se você tiver problemas semelhantes no Intellij, faça o que os outros disseram acima de mim:

  1. Terminal aberto.
  2. Digite este comando: sudo xcodebuild --license.
  3. Digite a senha do sistema.
  4. Vá para o final do arquivo: Pressione espaço (botão) para fazer isso.
  5. Digite 'Concordo' para a licença.

E você terminou. !!

Kinghizzzzz
fonte