「Xcode / iOSライセンスに同意するには、管理者権限が必要です。sudoを介してrootとして再実行してください。」GCCを使用する場合


489

Cプログラムをコンパイルしようとしているときに、次のコマンドを実行します。

gcc pthread.c -o pthread

戻り値:

Xcode / iOSライセンスに同意するには、管理者権限が必要です。sudoを使用してrootとして再実行してください。

そして私のコードはコンパイルされません。

なぜこれが起こっているのですか?どうすればこの問題を修正できますか?


193
sudo xcodebuild -license
Andy Barbour 2014年

4
ターミナル内でこの方法で問題を解決できるため、実際には@Andy Barbourのコメントが最良の答えだと思います。Andy:回答を作成したら、投票します。
レックスフォード2014年

11
これをしなくてはならないgit init
ruffin 2014年

2
これは、OS Xがパワーユーザーにとって本当に優れたシステムである理由を再び示しています...
Lukas

10
この回答への新しい、同様の質問を完全に自動化された方法で合意する方法を示していますsudo xcodebuild -license accept-ここMacOSのシエラに動作しますが、以前のバージョンで動作しない可能性があります
SSC

回答:


808

Xcodeを開き、新しいユーザー契約に同意します。これは、Xcodeの新しいバージョンがダウンロードされ、新しい契約が受け入れられなかったために起こりました。


78
なぜこれはrootを必要とし、なぜ誰もその事実に悩まされないのですか?
kbolino

1
@kbolino新しいソフトウェア/新しいバージョンのソフトウェアをインストールする場合、多くの場合、ユーザーパスワードを入力する必要があります。新しいコンパイラーを実行すると、その壁にぶつかります。
ericsoco

22
@ericsoco、実行中のXcodeは、理由が何であれ、root権限とは何の関係もないはずです。Xcodeがユーザーランドアプリケーションであると期待するのは適切です。不要なroot権限はユーザーの警戒を弱め、一般的にエクスプロイトの拡散を助けます。一部のハードウェア開発またはプッシュコンポーネントが管理者特権を必要とする場合でも、特権を要求するのは、開発環境全体ではなく、そのコンポーネントである必要があります。重要なのは、開発者はいつでもこれらの特権を付与および取り消すことができるはずです。これが機能する方法は、Appleに代わってXcodeを設計するための怠惰な方法のように見えます。
Vlad Didenko、2015

5
@VladDidenko Xcodeやgitを実行するのに管理者権限は必要ありません。アプリケーションを使用するには、Xcode EULAの条件に同意するための管理者権限が必要です(Gitは、アプリケーションをインストールしたときに実行したものと同じです)。ここでの権限の昇格は、クレジットカードの裏面にある3〜4桁のセキュリティコードを要求するサイトに似ています。同意すると、管理者権限は不要になります。
アクティビスト

13
@SoldOutActivistええ、私はそれをすべて知っています。しかし、私はそれを説明するために別の言葉を使います。そのように:Appleがユーザーの同意を得て記録するように管理者特権を要求するのは不合理です。それは信頼できないという点から(どのアプリでもそのようなウィンドウを作成してXcodeの起動までの時間を計ることができます)、法的に疑わしい(システムにログインする将来のすべてのユーザーのアクションに私を拘束すると思われるため)。悪いデザイン。Appleもユーザーも、インストールの終了後に管理者特権を要求するようにアプリケーションを設計する必要はありません。
Vlad Didenko、2015

557
sudo xcodebuild -license

コマンドラインで問題なくそれを世話します。コマンドラインに "accept"を追加しない限り、ライセンスを手動でスクロールし、最後にその条件に同意する必要があることに注意してください。

sudo xcodebuild -license accept

5
これはエレガントです。ここでは別の方法を使用しましたが、最初に見た場合は実際にこの方法を使用します。
Vic Jang

1
取得:無効なオプション--license
dan-klasson、2015

5
ダッシュは1つだけ@ dan-klassonにする必要があります:-license NOT --license
Andy Barbour

2
XcodeやJava JDKなどのパッケージでライセンスを手動で受け入れる必要がある場合、構成管理とプロビジョニングを使用してAppleビルドサーバーを維持することは簡単ではありません。
Saustrup

38
制御する環境のソリューションをスクリプトで記述している場合は、acceptパラメータをスローすることもできますsudo xcodebuild -license accept
tobius

115

私は行きたいと思っていたので立ち往生しました...それはgitに関連していたと思います。ここにそれを修正することができた方法があります...

  1. 端末に次のように入力しました:

    sudo xcodebuild -license
  2. これにより契約が開始されます。最後まで進んで「同意する」と入力します。

これで問題が発生します。

無関係なものがいかに面白かった。


4
ええ、私はgit clone1分も使っていなかったマシンで走っていました。
Jess

4
qを押すだけで終了でき、読みたくない場合は同意できます。
2015年

27

XCodeを開いてライセンスに同意すると、問題が解決します。


Xcodeをv7.0などにアップグレードした後に1つヒットしましたが、Android Studioを実行するアップグレードの前にすべてが機能していたため、奇妙なエラーが発生しました。この答えは私にとってうまくいきました。
G O'Rilla

15

コマンドをいじる必要はありません:)

XCodeが更新されたら、Xcode IDEプログラムを開きます。利用規約に同意してください。

あなたはすべて行く準備ができています:))


7

Xcode / iOSライセンスに同意するには、管理者権限が必要sudoです。を介してrootとして再実行してください。

OSXまたはXCodeの新しいバージョンがインストールされましたが、Appleはそれらの契約条件に同意することを求めています。Xcodeを起動して「同意する」だけです。


それは機能しますが、デスクトップの代わりにコマンドラインを介して主にツールを使用するユーザー(私のように)にはあまり明白ではないかもしれません。ターミナルにユーザーがこれを変更するテキストがあった場合は良いでしょう。
karolus

5

次の手順を実行します:

  1. ターミナルを開きます。
  2. 次のコマンドを入力します:sudo xcodebuild --license
  3. システムパスワードを入力します。
  4. ライセンスに同意します。

4
フラグにはダッシュを1つだけ使用する必要がありますsudo xcodebuild -license
aboutaaron 2016年

5

XCodeの起動または実行時にライセンスを受け入れた後も同じ問題が発生しました。Mac sudo xcodebuild -license accept再起動する必要がありました。それ以外の場合は機能しませんでした。


再起動ステップは重要です。私はそれがなぜうまくいかないのか疑問に思って一時間いじりました。私は再起動し、それはすべて動作しています。ありがとう
skellertor

3

gitを使用しようとしたときにも同じ問題が発生しました。

それなしでgitをインストールすることは可能です。そして、Mac上のgccが本当にXCodeに依存しているとは思えません。そして、私はそれが必要だと確信していない限り、何かを受け入れるためにrootを使いたくありません。

XCodeをアンインストールするには、applicationsフォルダーに移動し、XCodeをゴミ箱にドラッグします。

これで、私のgitコマンドは通常どおり機能します。本当に必要な場合は、XCodeを再インストールします。


ターミナルをgitコマンドに使用すると、関連のないアプリケーションのライセンスを受け入れる必要があるのはなぜですか?それとも何らかの形で関連していますか?
Scott Duncan

2

同じ問題に直面しています。

Xコードのために問題。

解決策:1. Xコードを開き、ユーザー契約(T&C)に同意します。または2. MACを再起動すると、自動的に解決されます。


SOへようこそ!同じソリューションで多くの答えがありますが、あなたの利点を公開できますか?
DavidGarcíaBodego

0

Intellijで同様の問題がある場合は、他の人が私の上で言ったようにしてください:

  1. ターミナルを開きます。
  2. 次のコマンドを入力します:sudo xcodebuild --license。
  3. システムパスワードを入力します。
  4. ファイルの最後に移動:スペース(ボタン)を押してください。
  5. ライセンスに「同意する」と入力します。

これで完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.