Sửa lỗi: 'Agreeing to the Xcode/iOS license requires admin privileges' trên macOS

cơ bản🍎 macOS2026-04-30| macOS (Sonoma, Sequoia, Ventura, Monterey), Xcode 13-16, Command Line Tools

Error Message

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
#xcode#bản quyền#sudo#macos#cli

Vấn đề

Có khả năng bạn đang cố gắng chạy một công cụ lập trình tiêu chuẩn như git, npm, hoặc gcc thì bỗng nhiên terminal chặn bạn bằng thông báo lỗi này:

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

Thông thường, lỗi này xảy ra sau khi cập nhật hệ thống macOS hoặc khi Xcode được cập nhật qua App Store. Apple yêu cầu bạn phải chấp nhận lại các Điều khoản và Điều kiện trước khi bất kỳ tệp thực thi (binaries) dành cho nhà phát triển nào có thể chạy. Ngay cả khi bạn không bao giờ chạm vào Xcode IDE và chỉ sử dụng Command Line Tools (CLT), hệ thống vẫn khóa các công cụ này cho đến khi cờ bản quyền được cập nhật trong một thư mục được bảo vệ.

Sửa lỗi nhanh: Lệnh một dòng

Chạy lệnh này là cách nhanh nhất để quay lại làm việc. Nó giúp bỏ qua vài phút cuộn văn bản pháp lý thủ công:

sudo xcodebuild -license accept

Nhập mật khẩu máy Mac khi được hỏi. Lưu ý rằng terminal sẽ không hiển thị bất kỳ ký tự hay dấu sao nào khi bạn nhập—đây là hành vi bảo mật bình thường. Chỉ cần nhập "mù" và nhấn Enter. Lệnh này sẽ ngay lập tức đánh dấu bản quyền đã được chấp nhận cho mọi người dùng trên hệ thống.

Tại sao lỗi này xảy ra

Về cơ bản, macOS sử dụng xcodebuild để quản lý các thành phần lập trình dùng chung. Mỗi khi Apple nâng cấp số phiên bản (ví dụ: từ Xcode 15.3 lên 15.4), họ sẽ đặt lại khóa LicenseAccepted. Quyền hệ thống là trở ngại chính ở đây. Vì trạng thái bản quyền được lưu trữ trong /Library/Preferences/, tài khoản người dùng tiêu chuẩn không thể ghi đè cập nhật. Đó là lý do tại sao lỗi yêu cầu rõ ràng quyền sudo.

Các cách khắc phục

Cách 1: Chế độ tương tác

Nếu cờ 'accept' thất bại hoặc nếu bạn thực sự muốn đọc những gì đã thay đổi trong thỏa thuận, hãy sử dụng chế độ tương tác:

sudo xcodebuild -license
  • Nhấn Space để cuộn qua các trang tài liệu.
  • Ở cuối cùng, gõ agree và nhấn Enter.

Cách 2: Sửa lỗi nhầm lẫn đường dẫn

Đôi khi hệ thống của bạn bị mất dấu vị trí của các công cụ lập trình. Điều này thường xảy ra nếu bạn cài đặt cả ứng dụng Xcode nặng hơn 12GB và bộ Command Line Tools độc lập nhỏ hơn. Nếu các lệnh trên trả về lỗi "requires Xcode", hãy đặt lại đường dẫn của bạn:

sudo xcode-select --reset

Hoặc, nếu bạn muốn trỏ chính xác vào ứng dụng Xcode đầy đủ trong thư mục Applications, hãy sử dụng lệnh này:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Cách 3: Phương án dự phòng cho máy Mac được quản lý (Managed Macs)

Các máy tính xách tay công ty được quản lý với cấu hình MDM nghiêm ngặt đôi khi chặn sudo ghi vào tệp hệ thống. Nếu terminal vẫn không hoạt động, hãy thử mở chính ứng dụng Xcode từ thư mục Applications. Thông thường, một thông báo giao diện đồ họa sẽ xuất hiện yêu cầu "Install additional required components." Hoàn thành thông báo này thường sẽ xóa bỏ việc chặn bản quyền khi các lệnh CLI thất bại.

Xác minh: Kiểm tra kết quả

Kiểm tra xem các công cụ của bạn đã được bỏ chặn chưa bằng cách chạy lệnh kiểm tra phiên bản đơn giản mà không cần sudo:

git --version
xcode-select -p

Nếu bạn thấy một chuỗi phiên bản hợp lệ (như git version 2.45.2) thay vì lỗi bản quyền, bạn đã sẵn sàng để lập trình trở lại.

Tài liệu tham khảo thêm

  • Chạy man xcodebuild để xem tất cả các cờ build và bản quyền có sẵn.
  • Xem lại Technical Note TN2339 của Apple liên quan đến Command Line Tools.
  • Nếu bạn sử dụng Homebrew, bạn nên chạy brew doctor sau mỗi lần cập nhật bản quyền lớn để tránh sai lệch môi trường.

Related Error Notes