"Menyetujui lisensi Xcode / iOS memerlukan hak admin, silakan jalankan kembali sebagai root via sudo." saat menggunakan GCC

489

Saat mencoba mengkompilasi program C saya, jalankan perintah berikut:

gcc pthread.c -o pthread

Pengembalian:

Menyetujui lisensi Xcode / iOS memerlukan hak admin, jalankan kembali sebagai root via sudo.

dan kode saya tidak dikompilasi.

Mengapa ini terjadi dan bagaimana saya bisa memperbaiki masalah ini?

Coachcal
sumber
193
sudo xcodebuild -license
Andy Barbour
4
Sebenarnya saya pikir komentar @Andy Barbour adalah jawaban terbaik karena masalah ini dapat diselesaikan dalam terminal dengan cara ini. Andy: jika Anda membuat jawaban, saya akan memilihnya.
rexford
11
Aku bahkan tidak bisa git inittanpa melakukan ini.
ruffin
2
Ini lagi menunjukkan, mengapa OS X benar-benar sistem yang hebat untuk pengguna listrik ...
Lukas
10
jawaban untuk pertanyaan yang lebih baru dan serupa ini menunjukkan cara menyepakati secara otomatis: sudo xcodebuild -license accept- yang berfungsi pada macOS Sierra di sini, tetapi mungkin tidak berfungsi pada versi sebelumnya
ssc

Jawaban:

808

Buka Xcode, dan terima perjanjian pengguna baru. Ini terjadi karena versi baru Xcode telah diunduh dan perjanjian baru tidak diterima.

Coachcal
sumber
78
Mengapa ini membutuhkan root, dan mengapa tidak ada yang peduli dengan fakta itu?
kbolino
1
@kbolino Menginstal perangkat lunak baru / versi baru perangkat lunak sering kali mengharuskan Anda memasukkan kata sandi pengguna. Ketika Anda menjalankan kompiler baru, Anda menabrak dinding itu.
ericsoco
22
@ ericsoco, menjalankan Xcode seharusnya TIDAK ada hubungannya dengan hak akses root, apa pun alasannya. Sudah sewajarnya mengharapkan Xcode menjadi aplikasi userland. Hak akses root yang tidak perlu mengurangi kewaspadaan pengguna dan membantu menjamurnya eksploitasi secara umum. Bahkan jika beberapa pengembangan perangkat keras atau komponen dorong menginginkan hak admin, itu harus komponen itu, bukan seluruh lingkungan pengembang, yang meminta hak istimewa. Yang terpenting, para pengembang harus dapat memberikan DAN mencabut hak istimewa itu kapan saja. Cara kerjanya sekarang terlihat seperti cara malas untuk mendesain Xcode atas nama Apple.
Vlad Didenko
5
@VladDidenko Anda tidak perlu hak admin untuk menjalankan Xcode atau git. Anda memerlukan hak admin untuk menyetujui persyaratan Xcode EULA untuk menggunakan aplikasi - git yang melakukannya (dan yang Anda lakukan ketika Anda menginstal aplikasi). Peningkatan hak istimewa di sini mirip dengan situs yang meminta kode keamanan 3-4 digit di belakang kartu kredit Anda. Setelah menyetujui, Anda tidak memerlukan hak admin lagi.
Aktivis Habis Terjual
13
@SoldOutActivist Ya, saya tahu semua itu. Namun saya menggunakan kata-kata yang berbeda untuk menggambarkannya. Seperti itu: Tidak masuk akal jika Apple meminta hak admin untuk mendapatkan dan mencatat persetujuan pengguna. Baik dari titik bahwa itu tidak dapat dipercaya (aplikasi apa pun dapat membuat jendela seperti itu dan waktu untuk memulai Xcode) dan dipertanyakan secara hukum (karena tampaknya mengikat saya untuk tindakan semua pengguna masa depan yang masuk ke sistem). Desain yang buruk. Baik Apple maupun pengguna TIDAK PERLU untuk memiliki aplikasi direkayasa dengan cara untuk menuntut hak admin setelah instalasi selesai.
Vlad Didenko
557
sudo xcodebuild -license

akan mengurusnya tanpa kesulitan di baris perintah. Perhatikan bahwa Anda harus secara manual menggulirkan lisensi, dan menyetujui ketentuannya di bagian akhir, kecuali jika Anda menambahkan "terima" ke baris perintah:

sudo xcodebuild -license accept
Andy Barbour
sumber
5
Ini elegan. Meskipun saya menggunakan metode lain di sini, saya sebenarnya lebih suka yang ini jika saya melihatnya terlebih dahulu.
Vic Jang
1
Saya mendapatkan: opsi tidak valid --license
dan-klasson
5
Seharusnya hanya ada satu tanda hubung @ dan-klasson: -license BUKAN --license
Andy Barbour
2
Mempertahankan Apple membangun server dengan manajemen konfigurasi dan penyediaan tidak mudah, ketika paket seperti Xcode dan Java JDK mengharuskan Anda untuk menerima lisensi secara manual.
Saustrup
38
Jika Anda membuat skrip solusi untuk lingkungan yang Anda kontrol, Anda juga dapat memasukkan parameter terima sudo xcodebuild -license accept.
tobius
115

Terjebak ketika saya mencoba untuk mendapatkan ... Saya pikir itu terkait dengan git. Inilah cara memperbaikinya ...

  1. Saya memasukkan terminal berikut ini:

    sudo xcodebuild -license
  2. Ini akan membuka perjanjian. Pergi jauh-jauh untuk mengakhiri dan ketik "setuju".

Itu menangani masalah go get.

Cukup menarik bagaimana hal-hal yang tidak berhubungan itu.

rahul
sumber
4
Ya saya sedang menjalankan git clonemesin yang saya tidak gunakan dalam satu menit.
Jess
4
Anda bisa menekan q untuk berhenti dan setuju jika tidak ingin membacanya.
steve
27

Membuka XCode dan menerima lisensi memperbaiki masalah ini.

Mr. Doomsbuster
sumber
Saya baru saja menekan satu setelah memutakhirkan Xcode ke v7.0 dll. Dan mendapat kesalahan aneh mengingat semuanya berfungsi sebelum pemutakhiran yang menjalankan Android Studio. Jawaban ini berhasil untuk saya.
G O'Rilla
15

Anda tidak perlu bermain-main dengan perintah apa pun :)

Setelah XCode diperbarui, buka program Xcode IDE. Harap terima syarat dan ketentuan.

Anda siap untuk pergi :))

berbasis kode
sumber
7

Menyetujui lisensi Xcode / iOS memerlukan hak admin, silakan jalankan kembali sebagai root via sudo.

Versi baru OSX atau XCode telah diinstal dan Apple ingin Anda menyetujui Syarat dan Ketentuan mereka. Jadi luncurkan saja Xcode dan "Setuju" untuk mereka.

Admin Web TaxiPixi
sumber
Ini berfungsi, tetapi mungkin tidak terlalu jelas bagi pengguna (seperti saya) yang terutama menggunakan alat melalui baris perintah alih-alih desktop. Akan lebih baik jika ada beberapa teks di Terminal yang mengubah pengguna untuk ini.
karolus
5

Ikuti langkah ini:

  1. Buka Terminal.
  2. Masukkan perintah ini: sudo xcodebuild --license.
  3. Masukkan kata sandi sistem.
  4. Setuju dengan lisensi.
Jabbir Basha
sumber
4
Bendera hanya boleh menggunakan satu tanda hubung, yaitu sudo xcodebuild -license,.
aboutaaron
5

Saya memiliki masalah yang sama, setelah menerima lisensi meluncurkan XCode atau menjalankan sudo xcodebuild -license acceptsaya harus me - restart Mac saya - jika tidak maka tidak berhasil.

Benjamin
sumber
Langkah restart sangat penting. Saya mencari-cari sekitar satu jam bertanya-tanya mengapa itu tidak berhasil. Saya memulai kembali dan semuanya bekerja. Terima kasih
skellertor
3

Saya memiliki masalah yang sama ketika saya mencoba menggunakan git.

Adalah mungkin untuk menginstal git tanpa itu. Dan saya ragu bahwa gcc pada mac benar-benar bergantung pada XCode. Dan saya tidak ingin menggunakan root untuk menerima sesuatu kecuali saya yakin saya membutuhkannya.

Saya mencopot XCode dengan menavigasi ke folder aplikasi dan menyeret XCode ke tempat sampah.

Sekarang perintah git saya berfungsi seperti biasa. Saya akan menginstal ulang XCode jika / ketika saya benar-benar membutuhkannya.

Gading Blakley
sumber
mengapa menggunakan terminal untuk perintah git mengharuskan Anda untuk menerima lisensi untuk aplikasi yang tidak terkait? Atau mereka berhubungan entah bagaimana?
Scott Duncan
2

Saya menghadapi masalah yang sama.

Masalah karena X-Code.

Solusi: 1. Buka kode-X dan terima persetujuan pengguna (T&C). atau 2. Restart MAC Anda, Ini akan menyelesaikan secara otomatis.

Viplav Soni
sumber
Selamat datang di SO! Ada banyak jawaban dengan solusi yang sama, bisakah Anda mengekspos manfaat dari Anda?
David García Bodego
0

Jika Anda memiliki masalah serupa di Intellij, lakukan seperti yang orang lain katakan di atas saya:

  1. Buka Terminal.
  2. Masukkan perintah ini: sudo xcodebuild --license.
  3. Masukkan kata sandi sistem.
  4. Pergi ke akhir file: Tekan spasi (tombol) untuk melakukan itu.
  5. Ketikkan 'Setuju' ke lisensi.

Dan Anda selesai. !!

Kinghizzzzz
sumber