Sửa lỗi 'xcrun: error: invalid active developer path' trên macOS

beginner🍎 macOS2026-04-04| macOS (Sequoia, Sonoma, Ventura, Monterey) sau khi cập nhật hệ thống hoặc di chuyển dữ liệu.

Error Message

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
#xcrun#xcode#command-line-tools#macos#git

Tình huống: Terminal bị lỗi sau khi cập nhật macOS

Bạn vừa hoàn tất cài đặt bản cập nhật macOS mới nhất. Bạn mở terminal để tiếp tục làm việc, nhưng ngay khi nhập git status hoặc make, quy trình làm việc của bạn bị gián đoạn. Thay vì kết quả thông thường, bạn nhận được một thông báo lỗi khó hiểu về việc thiếu đường dẫn.

Thông báo lỗi

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Các bản cập nhật lớn như nâng cấp lên macOS Sequoia (15.x) hoặc Sonoma (14.x) thường làm hỏng kết nối với Command Line Tools (CLT). Những công cụ này là xương sống của môi trường phát triển, cung cấp các tiện ích thiết yếu như gcc, gitpython3 mà không cần cài đặt bộ Xcode đầy đủ.

Tại sao Terminal của bạn từ chối hoạt động

Cập nhật nhân macOS thường làm mất hiệu lực đường dẫn hiện có đến các công cụ lập trình. Tiện ích xcrun đóng vai trò như một bộ điều phối cho các trình biên dịch. Khi nó tìm kiếm công cụ tại /Library/Developer/CommandLineTools và thấy một thư mục trống hoặc phiên bản không khớp, lỗi này sẽ xảy ra. Về cơ bản, bản cập nhật hệ điều hành đã dọn dẹp hệ thống nhưng quên liên kết lại các tệp thực thi (binaries) lập trình của bạn.

Giải pháp 1: Cài đặt lại nhanh (Khuyên dùng)

Hầu hết các lập trình viên có thể khắc phục lỗi này trong chưa đầy năm phút. Bạn không cần phải tải xuống ứng dụng Xcode khổng lồ hơn 12GB từ App Store. Thay vào đó, bạn có thể thực hiện cài đặt phiên bản rút gọn (~700MB) trực tiếp từ terminal.

Chạy lệnh sau:

xcode-select --install

Một hộp thoại cập nhật phần mềm sẽ xuất hiện trên màn hình. Nhấp vào Install (Cài đặt) và chấp nhận thỏa thuận bản quyền. Tùy thuộc vào tốc độ internet của bạn, quá trình tải xuống thường mất khoảng 2 đến 5 phút. Sau khi hoàn tất, các công cụ của bạn sẽ sẵn sàng ngay lập tức mà không cần khởi động lại máy.

Giải pháp 2: Trỏ đến ứng dụng Xcode đầy đủ

Nếu bạn đã cài đặt phiên bản Xcode đầy đủ, hệ thống có thể chỉ đơn giản là đang tìm kiếm sai chỗ. Bạn có thể buộc macOS sử dụng các công cụ đi kèm bên trong ứng dụng Xcode.

Đầu tiên, hãy thử đặt lại đường dẫn về vị trí mặc định:

sudo xcode-select --reset

Nếu cách đó không hiệu quả, hãy trỏ thủ công đến thư mục ứng dụng Xcode của bạn:

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

Lưu ý: Bạn sẽ cần nhập mật khẩu đăng nhập máy Mac để cấp quyền cho các lệnh sudo này.

Giải pháp 3: Giải pháp "mạnh tay" (Khi trình cài đặt thất bại)

Đôi khi lệnh xcode-select --install vẫn khẳng định rằng phần mềm "đã được cài đặt", ngay cả khi nó rõ ràng đang bị lỗi. Trong trường hợp này, bạn cần xóa thư mục bị hỏng theo cách thủ công và bắt đầu lại từ đầu.

1. Xóa thư mục cũ:

sudo rm -rf /Library/Developer/CommandLineTools

2. Chạy lại lệnh cài đặt:

xcode-select --install

Việc này buộc hệ thống nhận ra rằng các công cụ đang bị thiếu và yêu cầu tải xuống bản mới hoàn toàn.

Kiểm tra: Lỗi đã thực sự được khắc phục chưa?

Đừng vội kết luận là nó đã hoạt động. Hãy chạy ba bước kiểm tra nhanh sau để đảm bảo môi trường của bạn đã ổn định:

1. Kiểm tra đường dẫn đang hoạt động:

xcode-select -p

Bạn sẽ thấy /Library/Developer/CommandLineTools ở kết quả trả về.

2. Kiểm tra Git:

git --version

Nếu lệnh trả về số phiên bản (ví dụ: git version 2.39.5), bạn đã có thể tiếp tục làm việc.

3. Kiểm tra xcrun:

xcrun --find git

Lệnh này sẽ trỏ đến vị trí của tệp thực thi, thường là /usr/bin/git.

Tổng kết

Lỗi "invalid active developer path" là một trở ngại thường gặp sau bất kỳ bản cập nhật macOS nào. Bằng cách chạy xcode-select --install, bạn sẽ thu hẹp khoảng cách giữa hệ điều hành mới và các công cụ lập trình của mình. Hãy lưu lại lệnh này—bạn có thể sẽ cần đến nó khi phiên bản macOS tiếp theo ra mắt.

Related Error Notes