Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Bảo Trì Máy Tính

Khắc phục lỗi 'xcrun: error: invalid active developer path' trên macOS – Hướng dẫn từng bước

Git phụ thuộc vào nhiều phụ thuộc trong công cụ dòng lệnh Xcode của Apple để hoạt động đúng. Nếu không cài Xcode Tools, bạn sẽ gặp lỗi xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) mỗi khi chạy lệnh Git.

Hướng dẫn này giải thích lỗi này là gì và tại sao bạn gặp nó. Chúng tôi sẽ đi qua ví dụ để bạn hiểu cách khắc phục.

Git là gì?

Git là hệ thống kiểm soát phiên bản phổ biến nhất. Git theo dõi thay đổi bạn làm trên tệp, để bạn có bản ghi đã làm gì và có thể quay lại phiên bản cụ thể nếu cần. Git cũng hỗ trợ cộng tác bằng cách cho phép hợp nhất thay đổi của nhiều người vào một nguồn duy nhất.

Vì vậy, dù bạn viết code chỉ mình xem hay làm việc nhóm, Git đều hữu ích.

Mẹo chuyên nghiệp: Quét Mac để phát hiện vấn đề hiệu suất, tệp rác, ứng dụng độc hại và mối đe dọa bảo mật có thể gây ra sự cố hệ thống hoặc làm chậm hiệu suất.

Git là phần mềm chạy trên máy của bạn. Tệp và lịch sử của chúng lưu trên máy. Bạn cũng có thể lưu bản sao tệp và lịch sử sửa đổi trên host trực tuyến (như GitHub, Bitbucket). Có nơi tập trung để tải lên thay đổi và tải xuống thay đổi từ người khác giúp cộng tác dễ dàng hơn. Git tự động hợp nhất thay đổi, cho phép hai người làm việc trên phần khác nhau của cùng một tệp rồi hợp nhất mà không mất công việc của nhau!

Git truy cập qua dòng lệnh (terminal) hoặc ứng dụng desktop có giao diện đồ họa (GUI) như Sourcetree.

Xcode Tools là gì?

Xcode là môi trường phát triển và gỡ lỗi của Mac, cung cấp tệp phát triển cần thiết cho ứng dụng Mac OS X và iOS.

Trước khi phát triển phần mềm trên Mac, lập trình viên phải cài Xcode Command Line Tools.

Apple cung cấp môi trường phát triển đầy đủ tên Xcode. Bạn phải cài Xcode hoàn chỉnh nếu phát triển phần mềm cho macOS, iOS, tvOS, hoặc watchOS.

Nó không cài sẵn, nhưng có thể tải từ trang web nhà phát triển Apple hoặc Mac App Store.

Nếu bạn không phát triển phần mềm cho thiết bị Apple, không cần cài Xcode đầy đủ (chiếm hơn 40GB dung lượng ổ đĩa!).

Thay vào đó, bạn tải và cài Xcode Command Line Tools. Gói nhỏ hơn cho lập trình viên, bao gồm công cụ dòng lệnh chạy trong ứng dụng Terminal.

Các công cụ này được lập trình viên dùng trên hệ điều hành Unix từ đầu kỷ nguyên máy tính, là nền tảng của hầu hết phát triển phần mềm.

May mắn thay, gói Xcode Command Line Tools chỉ chiếm 1.2GB dung lượng.

Có ba cách cài Xcode Command Line Tools trên Mac:

  • Cài toàn bộ gói Xcode.
  • Cài Xcode Command Line Tools qua Terminal.
  • Cài Xcode Command Line Tools qua cài đặt Homebrew.

Trừ khi bạn phát triển phần mềm cho thiết bị Apple, chúng tôi không khuyến khích cài Xcode đầy đủ. Tải quá lâu và tốn quá nhiều dung lượng. Thay vào đó, hãy thử một trong hai cách nhanh hơn.

Vì hệ điều hành dựa trên Unix — tiêu chuẩn lâu đời cho phát triển phần mềm — macOS là nền tảng phổ biến nhất cho phát triển phần mềm.

Cài Xcode Command Line Tools sẽ给你 nền tảng vững chắc để thêm hầu hết công cụ phát triển mã nguồn mở.

Lỗi Git xcrun: error: invalid active developer path là gì?

Khi chạy bất kỳ lệnh git nào — như git pull, git push, git clone, git status, git branch, v.v. — người dùng gặp lỗi trên nhiều phiên bản macOS.

Một số người dùng Mac Terminal có thể phát hiện pip, Homebrew và công cụ dòng lệnh khác thất bại hoặc không hoạt động đúng, với thông báo lỗi "xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)". Các công cụ dòng lệnh này có thể ngừng hoạt động sau cập nhật macOS nếu trước đó chạy tốt.

Thông báo lỗi thường đọc:

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

Nguyên nhân Xcrun: error: invalid active developer path (/library/developer/commandlinetools)?

Trong hầu hết trường hợp, lỗi xcrun: error: invalid active developer path xuất hiện khi chạy lệnh git trong Terminal sau cập nhật hoặc nâng cấp. Đa số lỗi liên quan đến Mac vừa cập nhật lên Big Sur.

Thông báo lỗi trên tự giải thích: đường dẫn nhà phát triển hoạt động tại /Library/Developer/CommandLineTools không hợp lệ. Nghĩa là lỗi không liên quan đến git bản thân, mà đến Command Line Tools.

Điều này xảy ra ngay cả khi Command Line Tools đã cài trên macOS và chạy tốt trước đó. Nếu lỗi xuất hiện sau nâng cấp macOS, cài đặt lại "Command Line Tools" trên Mac sẽ giải quyết vấn đề đường dẫn trong cài đặt "Command Line Tools".

Cách xử lý Git Xcrun: Error: Invalid Active Developer Path

Điều đầu tiên khi gặp lỗi: đóng cửa sổ Terminal và mở lại. Sau khi khởi động lại app, thử chạy lệnh lại xem có chạy được không. Nếu lỗi do sự cố nhỏ, khởi động lại app sẽ khắc phục.

Bạn cũng nên đảm bảo ứng dụng Terminal có đủ quyền chạy lệnh. Mở Terminal với quyền nâng cao (elevated) thay vì console thường để tránh vấn đề truy cập. Nếu các bước này không giúp, hãy khởi động lại Mac trước khi thử lại từ đầu. Cũng giúp tối ưu máy trước bằng Outbyte macAries để dọn tệp rác và vấn đề nhỏ khác.

Nếu lỗi bền bỉ đến mức các bước khắc phục sự cố không hiệu quả, hãy làm theo giải pháp dưới đây.

Để khắc phục, cài đặt Xcode. Nếu quan tâm phát triển app iOS, cài bản đầy đủ cũng khắc phục được. Tải file Xcode .dmg từ trang nhà phát triển Apple.

Nếu không dùng nhiều, có thể tìm gói công cụ dòng lệnh Xcode, tải và cài file .dmg tương ứng. Tải từ trang nhà phát triển Apple.

Cách 1: Cài đặt hoặc cài lại Command Line Tools.

Nếu không muốn tải gì và chỉ muốn chạy vài lệnh Terminal để khắc phục, đây là giải pháp:

  1. Khởi động ứng dụng Terminal. Có thể dùng terminal khác. Dùng macOS: Terminal ở thư mục Utilities trong Applications hoặc dùng Spotlight tìm.
  2. Trong Terminal, gõ lệnh sau và nhấn Enter để cài công cụ dòng lệnh: xcode-select –install
  3. Đây là lệnh chạy trong terminal cài công cụ dòng lệnh Xcode. Sẽ có kết quả: xcode-select: note: install requested for command line developer tools
  4. Click nút Install (Cài đặt).
  5. Chấp nhận thỏa thuận giấy phép bằng cách click "Accept (Chấp nhận)".

Để cài đặt làm việc, đừng ngắt quãng. Có thể mất thời gian, hãy kiên nhẫn. Khởi động lại ứng dụng terminal. Tôi không phải khởi động lại terminal, nhưng biết một số trường hợp không chạy nếu không reboot.

Cuối cùng, gõ lại lệnh bạn dùng khi gặp lỗi để đảm bảo chạy không lỗi (trong trường hợp tôi là git commit).

Nếu được báo tải xuống cần hơn 7GB, lưu ý bạn sẽ bị buộc tải ứng dụng Xcode cụ thể từ trang nhà phát triển Apple.

Lệnh trên sẽ khắc phục nếu bạn không chạy thêm lệnh sau:

xcode-select –reset

Mặc dù này khắc phục vấn đề, bước tiếp theo có thể là đặt đường dẫn cho công cụ dòng lệnh chạy không cần Xcode: xcode-select –switch /Library/Developer/CommandLineTools

Nếu bạn làm việc với Node.js và module yêu cầu kiểu node, có thể thấy cảnh báo sau trong terminal:

xcode-select: error: tool 'xcodebuild' requires Xcode

but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

Lỗi này xảy ra khi thư mục nhà phát triển xcodeselect trỏ đến /Library/Developer/CommandLineTools khi cần Xcode đầy đủ (xảy ra khi CommandLineTools cài sau Xcode). Khắc phục nhanh bằng cách cập nhật thư mục nhà phát triển sang Xcode.app: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Cách 2: Cài đặt từ trang tải xuống Apple Developer

Nếu đã cài hoặc cài lại Command Line Tools từ Terminal, khởi động lại Mac, mà lỗi vẫn còn, bạn cũng có thể thử cài Command Line Tools thủ công bằng file DMG trực tiếp từ Apple.

Bạn cần Apple ID để truy cập tải xuống, vào developer.apple.com tải Command Line Tools for Xcode (phiên bản mới nhất) và cài thủ công.

Nếu dùng Homebrew, bạn cần cập nhật nó. Không nên cài lại Homebrew hoặc gỡ rồi cài lại, chỉ cần update đơn giản là đủ.

Cách 3: Buộc Terminal dùng Xcode

Nếu đã cài Xcode trên Mac, bạn có thể bỏ qua bước cài trên và buộc Terminal dùng CommandLine tools của Xcode. Làm bằng các lệnh sau:

  • sudo xcode-select –reset
  • sudo xcodebuild -license

Nếu có nhiều phiên bản Xcode, chọn phiên bản muốn dùng: xcode-select –switch /Applications/Xcode.app

Cũng có thể chọn chạy Command Line Tools không cần Xcode: xcode-select –switch /Library/Developer/CommandLineTools

Tổng kết

Vấn đề này có thể xảy ra sau cập nhật hệ điều hành khiến dịch vụ chạy trước đó trở nên vô dụng lâu dài. Tuy nhiên, giải pháp trên sẽ khắc phục được lỗi xcrun: error: invalid active developer path (/library/developer/commandlinetools) bạn đang gặp. Nếu không cách nào hiệu quả, hãy chia sẻ thông báo lỗi ở phần bình luận dưới đây.