Đồng ý với giấy phép Xcode / iOS yêu cầu quyền quản trị viên, vui lòng chạy lại với quyền root thông qua sudo. khi sử dụng GCC


489

Trong khi cố gắng biên dịch chương trình C của tôi, hãy chạy lệnh sau:

gcc pthread.c -o pthread

Trả về:

Đồng ý với giấy phép Xcode / iOS yêu cầu quyền quản trị viên, vui lòng chạy lại với quyền root thông qua sudo.

và mã của tôi không biên dịch.

Tại sao điều này xảy ra và làm thế nào tôi có thể khắc phục vấn đề này?


193
sudo xcodebuild -license
Andy Barbour

4
Trên thực tế tôi nghĩ rằng nhận xét của @Andy Barbour là câu trả lời tốt nhất vì vấn đề có thể được giải quyết trong thiết bị đầu cuối theo cách này. Andy: nếu bạn tạo ra một câu trả lời, tôi sẽ bỏ phiếu cho nó.
rexford

11
Tôi thậm chí git initkhông thể làm điều này.
ruffin

2
Điều này một lần nữa cho thấy, tại sao OS X thực sự là một hệ thống tuyệt vời cho người dùng quyền lực ...
Lukas

10
câu trả lời này cho một câu hỏi mới hơn, tương tự cho thấy cách đồng ý theo kiểu hoàn toàn tự động: sudo xcodebuild -license accept- hoạt động trên macOS Sierra ở đây, nhưng có thể không hoạt động trên các phiên bản trước
ssc

Câu trả lời:


808

Mở Xcode và chấp nhận thỏa thuận người dùng mới. Điều này đã xảy ra vì một phiên bản Xcode mới đã được tải xuống và thỏa thuận mới không được chấp nhận.


78
Tại sao điều này đòi hỏi phải root, và tại sao không ai bị làm phiền bởi thực tế đó?
kbolino

1
@kbolino Cài đặt phần mềm mới / phiên bản phần mềm mới thường yêu cầu bạn nhập mật khẩu người dùng. Khi bạn chạy trình biên dịch mới, bạn nhấn vào bức tường đó.
ericsoco

22
@ericsoco, chạy Xcode không nên làm gì với quyền root, bất kể lý do gì cũng có. Thật đúng đắn khi mong đợi Xcode là một ứng dụng dành cho người dùng. Các đặc quyền gốc không cần thiết làm giảm sự cảnh giác của người dùng và giúp khai thác sự phổ biến của sự phát triển nói chung. Ngay cả khi một số thành phần phát triển hoặc phần cứng đẩy muốn có đặc quyền quản trị viên, thì nó phải là thành phần đó, không phải toàn bộ môi trường dev, yêu cầu đặc quyền. Điều quan trọng, các nhà phát triển có thể cấp và thu hồi các đặc quyền đó bất cứ lúc nào. Cách thức hoạt động hiện tại trông giống như một cách lười biếng đối với kiến ​​trúc sư Xcode thay mặt cho Apple.
Vlad Didenko

5
@VladDidenko Bạn không cần quyền quản trị để chạy Xcode hoặc git. Bạn cần có đặc quyền của quản trị viên để đồng ý với các điều khoản của Xcode EULA để sử dụng các ứng dụng của nó - điều mà git làm (và bạn đã làm khi bạn cài đặt ứng dụng). Sự leo thang đặc quyền ở đây giống như các trang web yêu cầu mã bảo mật 3-4 chữ số ở mặt sau của thẻ tín dụng của bạn. Sau khi đồng ý, bạn không cần quyền quản trị nữa.
Bán hết Nhà hoạt động

13
@SoldOutActivist Vâng, tôi biết tất cả điều đó. Tuy nhiên tôi sử dụng các từ khác nhau để mô tả nó. Giống như vậy: Thật vô lý khi Apple yêu cầu các đặc quyền của quản trị viên để có được và ghi lại sự đồng ý của người dùng. Cả hai đều cho rằng nó không đáng tin cậy (bất kỳ ứng dụng nào cũng có thể tạo một cửa sổ như thế và thời gian bắt đầu Xcode) và có thể nghi ngờ về mặt pháp lý (vì nó dường như ràng buộc tôi về hành động của tất cả người dùng trong tương lai đăng nhập vào hệ thống). Thiết kế xấu. Cả Apple và người dùng đều KHÔNG CẦN thiết kế ứng dụng theo cách yêu cầu quyền quản trị viên sau khi cài đặt xong.
Vlad Didenko

557
sudo xcodebuild -license

sẽ chăm sóc nó mà không gặp rắc rối trên dòng lệnh. Lưu ý rằng bạn sẽ phải cuộn thủ công giấy phép và đồng ý với các điều khoản của nó ở cuối, trừ khi bạn thêm "chấp nhận" vào dòng lệnh:

sudo xcodebuild -license accept

5
Đây là thanh lịch. Mặc dù tôi đã sử dụng phương pháp khác ở đây, tôi thực sự sẽ thích phương pháp này nếu tôi thấy nó đầu tiên.
Vic Jang

1
Tôi nhận được: tùy chọn không hợp lệ --license
dan-klasson

5
Chỉ nên có một dấu gạch ngang @ dan-klasson: -license KHÔNG --license
Andy Barbour

2
Việc duy trì các máy chủ xây dựng của Apple với việc quản lý và cung cấp cấu hình không thực sự dễ dàng, khi các gói như Xcode và Java JDK yêu cầu bạn chấp nhận giấy phép theo cách thủ công.
Saustrup

38
Nếu bạn đang giải pháp kịch bản cho các môi trường mà bạn kiểm soát, bạn cũng có thể đưa vào tham số chấp nhận sudo xcodebuild -license accept.
tobius

115

Bị mắc kẹt khi tôi đang cố gắng để đi ... Tôi nghĩ rằng nó có liên quan đến git. Đây là cách có thể sửa nó ...

  1. Tôi đã nhập như sau trong thiết bị đầu cuối:

    sudo xcodebuild -license
  2. Điều này sẽ mở ra thỏa thuận. Đi tất cả các cách để kết thúc và gõ "đồng ý".

Điều đó quan tâm đến vấn đề đi.

Thật thú vị khi những thứ không liên quan đến nhau.


4
Vâng, tôi đã chạy git clonetrên một máy tôi đã không sử dụng trong một phút.
Jess

4
Bạn chỉ có thể nhấn q để thoát và đồng ý nếu không muốn đọc nó.
steve

27

Mở XCode và chấp nhận giấy phép sẽ khắc phục sự cố.


Tôi vừa gặp một lỗi sau khi nâng cấp Xcode lên v7.0, v.v. và gặp lỗi lạ khi xem xét mọi thứ đang hoạt động trước khi nâng cấp chạy Android Studio. Câu trả lời này đã làm việc cho tôi.
G O'Rilla

15

Bạn không cần phải loay hoay với bất kỳ lệnh nào :)

Khi XCode được cập nhật, hãy mở chương trình Xcode IDE. Vui lòng chấp nhận các điều khoản và điều kiện.

Bạn đã sẵn sàng để đi :))


7

Đồng ý với giấy phép Xcode / iOS yêu cầu quyền quản trị viên, vui lòng chạy lại với quyền root thông qua sudo.

Phiên bản mới của OSX hoặc XCode đã được cài đặt và Apple muốn bạn đồng ý với Điều khoản và Điều kiện của họ. Vì vậy, chỉ cần khởi chạy Xcode và "Đồng ý" với họ.


Nó hoạt động, nhưng có thể không quá rõ ràng đối với người dùng (như bản thân tôi), những người chủ yếu sử dụng các công cụ thông qua dòng lệnh thay vì máy tính để bàn. Sẽ tốt hơn nếu có một số văn bản trong Terminal thay đổi người dùng về điều này.
karolus

5

Thực hiện theo các bước sau:

  1. Mở Terminal.
  2. Nhập lệnh này : sudo xcodebuild --license.
  3. Nhập mật khẩu hệ thống.
  4. Đồng ý với giấy phép.

4
Cờ chỉ nên sử dụng một dấu gạch ngang, tức là sudo xcodebuild -license.
aboutaaron

5

Tôi gặp vấn đề tương tự, sau khi chấp nhận giấy phép khởi chạy XCode hoặc chạy, sudo xcodebuild -license accepttôi phải khởi động lại máy Mac của mình - nếu không thì nó không hoạt động.


Bước khởi động lại là rất quan trọng. Tôi loay hoay một tiếng đồng hồ tự hỏi tại sao nó không hoạt động. Tôi khởi động lại và tất cả đều hoạt động. Cảm ơn bạn
skellertor

3

Tôi đã có cùng một vấn đề khi tôi cố gắng sử dụng git.

Có thể cài đặt git mà không cần nó. Và tôi nghi ngờ rằng gcc trên mac thực sự phụ thuộc vào XCode. Và tôi không muốn sử dụng root để chấp nhận một cái gì đó trừ khi tôi chắc chắn rằng tôi cần nó.

Tôi đã gỡ cài đặt XCode bằng cách điều hướng đến thư mục ứng dụng và kéo XCode vào thùng rác.

Bây giờ các lệnh git của tôi hoạt động như bình thường. Tôi sẽ cài đặt lại XCode nếu / khi tôi thực sự cần nó.


Tại sao sử dụng thiết bị đầu cuối cho lệnh git yêu cầu bạn chấp nhận giấy phép cho bất kỳ ứng dụng không liên quan nào? Hay chúng có liên quan bằng cách nào đó?
Scott Duncan

2

Tôi đang đối mặt với cùng một vấn đề.

Vấn đề vì X-Code.

Giải pháp: 1. Mở mã X và chấp nhận thỏa thuận người dùng (T & C). hoặc 2. Khởi động lại MAC của bạn, Nó sẽ tự động giải quyết.


Chào mừng đến với SO! Có rất nhiều câu trả lời với cùng một giải pháp, bạn có thể tiết lộ những lợi ích của bạn không?
David García Bodego

0

Nếu bạn có vấn đề tương tự trong Intellij, hãy làm như những người khác đã nói ở trên tôi:

  1. Mở Terminal.
  2. Nhập lệnh này: sudo xcodebuild --license.
  3. Nhập mật khẩu hệ thống.
  4. Đi đến cuối tập tin: Nhấn phím cách (nút) để làm điều đó.
  5. Nhập 'Đồng ý' với giấy phép.

Và bạn đã hoàn thành. !!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.