“ การยอมรับใบอนุญาต Xcode / iOS ต้องใช้สิทธิ์ผู้ดูแลระบบโปรดเรียกใช้อีกครั้งในฐานะรูทผ่าน sudo” เมื่อใช้ GCC


489

ขณะที่พยายามคอมไพล์โปรแกรม C ของฉันให้รันคำสั่งต่อไปนี้:

gcc pthread.c -o pthread

ผลตอบแทน:

การยอมรับใบอนุญาต Xcode / iOS ต้องใช้สิทธิ์ผู้ดูแลระบบโปรดเรียกใช้อีกครั้งในฐานะรูทผ่าน sudo

และรหัสของฉันไม่ได้รวบรวม

เหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะแก้ไขปัญหานี้ได้อย่างไร


193
sudo xcodebuild -license
Andy Barbour

4
ที่จริงฉันคิดว่าความคิดเห็นของ @Andy Barbour เป็นคำตอบที่ดีที่สุดเนื่องจากปัญหาสามารถแก้ไขได้ภายในเทอร์มินัลด้วยวิธีนี้ แอนดี้: ถ้าคุณสร้างคำตอบฉันจะลงคะแนนให้
rexford

11
ฉันทำไม่ได้git initโดยไม่ทำเช่นนี้
ruffin

2
นี่แสดงให้เห็นอีกครั้งว่าทำไม OS X จึงเป็นระบบที่ยอดเยี่ยมสำหรับผู้ใช้ระดับสูง ...
Lukas

10
คำตอบนี้ไปยังที่ใหม่กว่าคำถามที่คล้ายกันแสดงให้เห็นถึงวิธีการที่จะยอมรับในแฟชั่นอย่างเต็มที่โดยอัตโนมัติ: sudo xcodebuild -license accept- ที่ทำงานใน MacOS เซียนี่ แต่อาจจะไม่ทำงานในรุ่นก่อนหน้านี้
SSC

คำตอบ:


808

เปิด Xcode และยอมรับข้อตกลงผู้ใช้ใหม่ สิ่งนี้เกิดขึ้นเนื่องจากมีการดาวน์โหลด Xcode เวอร์ชันใหม่และไม่ยอมรับข้อตกลงใหม่


78
ทำไมสิ่งนี้ถึงต้องมีการรูตและทำไมไม่มีใครสนใจข้อเท็จจริงนี้
kbolino

1
@kbolino การติดตั้งซอฟต์แวร์ใหม่ / ซอฟต์แวร์เวอร์ชันใหม่มักจะทำให้คุณต้องป้อนรหัสผ่านผู้ใช้ เมื่อคุณเรียกใช้คอมไพเลอร์ใหม่คุณจะชนกำแพงนั้น
ericsoco

22
@ericsoco การรัน Xcode ไม่ควรทำอะไรกับสิทธิ์ของรูทไม่ว่าจะมีข้อแก้ตัวอะไรก็ตาม เหมาะสมที่จะคาดหวังว่า Xcode จะเป็นแอปพลิเคชันของผู้ใช้ สิทธิ์รูทที่ไม่จำเป็นทำให้ผู้ใช้ระมัดระวังและช่วยให้เกิดการแพร่กระจายโดยทั่วไป แม้ว่าการพัฒนาฮาร์ดแวร์หรือคอมโพเนนต์การพุชจะต้องการสิทธิ์ผู้ดูแลระบบ แต่ก็ควรเป็นองค์ประกอบนั้นไม่ใช่สภาพแวดล้อมการพัฒนาทั้งหมดซึ่งขอสิทธิ์ นักพัฒนาซอฟต์แวร์ควรสามารถให้และเพิกถอนสิทธิพิเศษเหล่านั้นได้ทุกเมื่อ วิธีการทำงานในขณะนี้ดูเหมือนเป็นวิธีที่ขี้เกียจในการออกแบบ Xcode ในนามของ Apple
Vlad Didenko

5
@VladDidenko คุณไม่จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบในการเรียกใช้ Xcode หรือ git คุณต้องมีสิทธิ์ของผู้ดูแลระบบเพื่อยอมรับเงื่อนไขของ Xcode EULA เพื่อใช้แอปพลิเคชัน - ซึ่งคอมไพล์ทำอะไร (และคุณทำเมื่อคุณติดตั้งแอปพลิเคชัน) การยกระดับสิทธิ์ที่นี่คล้ายกับเว็บไซต์ที่ขอรหัสความปลอดภัย 3-4 หลักที่ด้านหลังของบัตรเครดิตของคุณ หลังจากยอมรับแล้วคุณไม่ต้องการสิทธิ์ผู้ดูแลระบบอีกต่อไป
Sold Out กิจกรรม

13
@SoldOutActivist ใช่ฉันรู้ทุกอย่าง อย่างไรก็ตามฉันใช้คำต่าง ๆ เพื่ออธิบาย เช่นนั้น: ไม่มีเหตุผลที่ Apple ขอสิทธิ์ผู้ดูแลระบบเพื่อรับและบันทึกการยินยอมของผู้ใช้ ทั้งจากจุดที่มันไม่น่าเชื่อถือ (แอพใดสามารถสร้างหน้าต่างแบบนั้นและถึงเวลาที่จะเริ่ม Xcode) และมีข้อกฎหมายที่น่าสงสัย การออกแบบไม่ดี ทั้ง Apple และผู้ใช้ไม่จำเป็นต้องมีแอปพลิเคชั่นที่ได้รับการออกแบบในลักษณะที่ต้องการสิทธิ์ผู้ดูแลระบบหลังจากการติดตั้งสิ้นสุดลง
Vlad Didenko

557
sudo xcodebuild -license

จะดูแลมันโดยไม่มีปัญหาในบรรทัดคำสั่ง โปรดทราบว่าคุณจะต้องเลื่อนดูใบอนุญาตด้วยตนเองและยอมรับข้อกำหนดท้ายที่สุดยกเว้นคุณจะเพิ่ม "ยอมรับ" ในบรรทัดคำสั่ง:

sudo xcodebuild -license accept

5
นี่คือสง่างาม แม้ว่าฉันจะใช้วิธีอื่นที่นี่ฉันชอบวิธีนี้จริง ๆ ถ้าฉันเห็นมันก่อน
Vic Jang

1
ฉันได้รับ: ตัวเลือกที่ไม่ถูกต้อง --license
dan-klasson

5
ควรมีเพียงเส้นประหนึ่ง @ dan-klasson: -license ไม่ --license
Andy Barbour

2
การบำรุงรักษาเซิร์ฟเวอร์ Apple สร้างด้วยการจัดการการกำหนดค่าและการเตรียมใช้งานไม่ใช่เรื่องง่ายเมื่อแพคเกจอย่าง Xcode และ Java JDK ต้องการให้คุณยอมรับใบอนุญาตด้วยตนเอง
Saustrup

38
sudo xcodebuild -license acceptหากคุณกำลังเขียนสคริปต์โซลูชั่นสำหรับสภาพแวดล้อมที่คุณควบคุมคุณยังสามารถโยนในพารามิเตอร์ยอมรับ
tobius

115

ติดอยู่ในขณะที่ฉันพยายามที่จะไปรับ ... ฉันคิดว่ามันเกี่ยวข้องกับคอมไพล์ นี่คือวิธีที่จะสามารถแก้ไขได้ ...

  1. ฉันป้อนสิ่งต่อไปนี้ในเทอร์มินัล:

    sudo xcodebuild -license
  2. นี่จะเป็นการเปิดข้อตกลง ไปจนสุดทางแล้วพิมพ์ "ตกลง"

ที่จะไปรับปัญหา

มันค่อนข้างน่าสนใจว่าสิ่งที่ไม่เกี่ยวข้องเป็นอย่างไร


4
ใช่ฉันกำลังทำงานgit cloneบนเครื่องที่ฉันไม่ได้ใช้ในนาทีเดียว
Jess

4
คุณสามารถกด q เพื่อออกและตกลงหากไม่อยากอ่าน
สตีฟ

27

การเปิด XCode และการยอมรับไลเซนส์จะช่วยแก้ไขปัญหา


ฉันเพิ่งกดหนึ่งครั้งหลังจากอัปเกรด Xcode เป็น v7.0 เป็นต้นและมีข้อผิดพลาดแปลก ๆ พิจารณาว่าทุกอย่างใช้งานได้ก่อนการอัปเกรดที่ใช้ Android Studio คำตอบนี้ใช้ได้สำหรับฉัน
G O'Rilla

15

คุณไม่จำเป็นต้องทำตามคำสั่งใด ๆ :)

เมื่ออัพเดต XCode แล้วให้เปิดโปรแกรม Xcode IDE โปรดยอมรับข้อกำหนดและเงื่อนไข

คุณพร้อมแล้วที่จะไป :))


7

เห็นพ้องที่จะใบอนุญาต Xcode / iOS sudoต้องใช้สิทธิ์ผู้ดูแลระบบอีกครั้งโปรดทำงานเป็นรากผ่าน

มีการติดตั้ง OSX หรือ XCode เวอร์ชันใหม่และ Apple ต้องการให้คุณยอมรับข้อกำหนดและเงื่อนไขของพวกเขา ดังนั้นเพียงแค่เปิด Xcode และ "เห็นด้วย" กับพวกเขา


มันใช้งานได้ แต่อาจไม่ชัดเจนเกินไปสำหรับผู้ใช้ (เช่นตัวฉัน) ซึ่งส่วนใหญ่ใช้เครื่องมือผ่านทางบรรทัดคำสั่งแทนที่จะเป็นเดสก์ท็อป จะดีถ้ามีข้อความบางส่วนในเทอร์มินัลการเปลี่ยนแปลงผู้ใช้กับสิ่งนี้
karolus

5

ทำตามขั้นตอนเหล่านี้:

  1. เปิด Terminal
  2. ป้อนคำสั่งนี้: sudo xcodebuild --license.
  3. ใส่รหัสผ่านระบบ
  4. เห็นด้วยกับใบอนุญาต

4
ธงควรใช้เส้นประเดียวเท่านั้นเช่นsudo xcodebuild -license.
aboutaaron

5

ฉันมีปัญหาเดียวกันหลังจากยอมรับใบอนุญาตในการเปิดตัว XCode หรือใช้งานsudo xcodebuild -license acceptฉันต้องรีสตาร์ท Mac - ไม่เช่นนั้นจะไม่ทำงาน


ขั้นตอนการรีสตาร์ทเป็นสิ่งสำคัญ ฉันคลำหาหนึ่งชั่วโมงเพื่อสงสัยว่าทำไมมันไม่ทำงาน ฉันรีสตาร์ทและมันก็ทำงานได้ ขอบคุณ
skellertor

3

ฉันมีปัญหาเดียวกันเมื่อฉันพยายามใช้ git

มันเป็นไปได้ที่จะติดตั้งคอมไพล์โดยไม่ได้ และฉันสงสัยว่า gcc บน mac นั้นขึ้นอยู่กับ XCode อย่างแท้จริง และฉันไม่ต้องการใช้รูทเพื่อยอมรับบางสิ่งยกเว้นฉันแน่ใจว่าฉันต้องการมัน

ฉันถอนการติดตั้ง XCode โดยไปที่โฟลเดอร์แอปพลิเคชันและลาก XCode ไปที่ถังขยะ

ตอนนี้คำสั่ง git ของฉันทำงานได้ตามปกติ ฉันจะติดตั้ง XCode อีกครั้งหาก / เมื่อฉันต้องการมันจริงๆ


ทำไมการใช้เทอร์มินัลสำหรับคำสั่ง git ทำให้คุณต้องยอมรับใบอนุญาตสำหรับแอปพลิเคชันที่ไม่เกี่ยวข้อง หรือพวกเขาเกี่ยวข้องกันอย่างไร
Scott Duncan

2

ฉันกำลังเผชิญกับปัญหาเดียวกัน

ปัญหานี้เกิดจาก X-Code

โซลูชัน: 1. เปิดรหัส X และยอมรับข้อตกลงผู้ใช้ (T&C) หรือ 2. รีสตาร์ท MAC ของคุณมันจะแก้ไขโดยอัตโนมัติ


ยินดีต้อนรับสู่ SO! มีคำตอบมากมายด้วยวิธีแก้ปัญหาแบบเดียวกันคุณช่วยเปิดเผยประโยชน์ของคุณได้ไหม?
David García Bodego

0

หากคุณมีปัญหาที่คล้ายกันใน Intellij ให้ทำตามที่คนอื่นพูดไว้ข้างต้นฉัน:

  1. เปิด Terminal
  2. ป้อนคำสั่งนี้: sudo xcodebuild --license
  3. ใส่รหัสผ่านระบบ
  4. ไปที่จุดสิ้นสุดไฟล์: กด space (ปุ่ม) เพื่อทำสิ่งนั้น
  5. พิมพ์ 'ยอมรับ' ในสิทธิ์ใช้งาน

และคุณทำเสร็จแล้ว !!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.