xcrun: error: invalid active developer path 해결 방법
맥 OS에서 커맨드 라인 명령어를 입력할 때 위와 같은 에러가 뜨는 경우가 있습니다. 해결 방법은 간단합니다. 알아야 할 부분은 에러가 발생하는 이유인데, 개발을 공부하는 분들은 원인 부분도 한 번 읽어보고 넘어가는 걸 추천드립니다.
1. 해결 방법
먼저 해결방법부터 보겠습니다.
터미널에 아래와 같이 입력하고 엔터를 칩니다.
xcode-select --install
그 이후 열리는 창에서 설치 버튼을 클릭합니다.
마지막으로 라이센스 창에서 확인 버튼을 클릭하면 설치가 진행됩니다. 설치를 완료한 후, 같은 명령어를 입력하면 에러 없이 실행됩니다.
2. 원인
에러는 해결했으니 이제 에러가 발생하는 원인을 알아봅니다. 오류 내용부터 다시 살펴보자면, 다음과 같습니다.
$ python3
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
python3
라는 명령어를 입력했는데 에러 메시지에는 xcrun
이 없다고 합니다. xcrun
은 어디서 갑자기 나타났을까요?
2.1. xcrun
manpagez에서는 이렇게 설명합니다. (opens in a new tab)
예를 들자면, xcrun
이 하는 일은 내 컴퓨터에 설치된 여러 파이썬 중에 Xcode가 사용하거나
CommandLineTools로 설치된 버전의 파이썬을 실행하도록 도와주는 프로그램입니다.
xcrun
이 실행하는 버전이 맥 OS가 생각하기에 현재 우리 운영체제에 최적이라는 것이죠.
물론 사용자의 생각이 시스템보다 우선입니다.
그래서 xcrun은 모든 PATH
를 탐색한 이후에 실행됩니다.
아직 접해보지 않은 분들을 위해 CLI 명령어와 PATH
의 관계를 간단히 설명할 필요가 있겠네요.
2.2. CLI와 PATH
파이썬 인터프리터 같이 CLI에서 동작하는 프로그램들은 컴퓨터 어디에서나 존재할 수 있습니다.
/opt/homebrew/bin/python3
여기 있을 수도 있고, /usr/bin/python3
여기 있을 수도 있죠.
이 프로그램을 실행하기 위해서는 /
로 시작하는 최상위 디렉토리부터 입력해주어야 합니다.
이렇게 앞에 붙은 디렉토리 주소를 생략할 수 있도록 도와주는 것이 PATH
입니다.
원하는 디렉토리를 PATH
로 지정해두면, 컴퓨터는 알아서 해당 폴더에 있는 python3
실행 파일을 찾아 실행합니다.
내 컴퓨터의 PATH
는 아래 명령어로 확인할 수 있습니다.
echo $PATH
아래와 같이 여러 개의 경로가 출력될 것입니다.
출력되는 여러 PATH
중 맨 앞부터 찾아나가면서 python3
실행 파일이 존재하면 실행하고, 마지막까지 없으면 못 찾았다는 메시지를 출력합니다.
메시지를 확인하기 위해 컴퓨터에 존재하지 않는 python4
를 실행해보겠습니다.
xcrun
은 위와 같은 PATH
들을 모두 찾은 다음 실행되어 OS 및 Xcode용으로 설쳐된 python3
실행 파일이 있는지 검색하고 실행하는 역할을 합니다.
2.3. 맥 OS 업데이트
xcrun
이 속한 CommandLineTools 자체가 맥 OS에 최적이 되는 프로그램들인 만큼, 맥 OS 업데이트와 CommandLineTools는 관련이 깊습니다.
때로는 맥 OS 업데이트에 CommandLineTools 업데이트를 포함하기도 합니다.
그래서 맥 OS 업데이트가 xcrun
의 디렉토리 설정을 꼬이게 하거나 아예 초기화시키는 버그를 만들어냅니다.
위 해결방법은 CommandLineTools를 새로 설치하면서 꼬인 경로를 되돌리거나 초기화된 프로그램들을 복구하는 역할을 합니다. 해결 방법은 간단하지만 xcrun에 대해 찾아보며, 맥 OS의 동작 원리에 대해 더 배울 수 있는 시간이었습니다.