$PATH의 첫 번째 위치에서 Git이 실행되지 않았습니다.

$PATH의 첫 번째 위치에서 Git이 실행되지 않았습니다.

내 Mac에 두 개의 서로 다른 git 인스턴스가 설치된 것 같습니다. 어떤 이유로 bash는 PATH 변수에서 해당 디렉터리가 다른 인스턴스 디렉터리 앞에 와도 내가 사용하고 싶은 인스턴스를 선택하지 않습니다.

Git은 다음 두 디렉터리에 있습니다.

/usr/bin/git #git version 2.24.3 (Apple Git-128), probably installed by XCode
/usr/local/Cellar/git/2.29.2/bin/git #installed by homebrew 

/usr/local/bin/git에는 후자에 대한 심볼릭 링크도 있습니다.

lrwxr-xr-x  1 fredrik  admin  28 Dec  6 13:50 /usr/local/bin/git -> ../Cellar/git/2.29.2/bin/git

XCode 인스턴스는 쉽게 업데이트할 수 없는 오래된 버전인 반면 최신 버전(그리고 쉽게 유지 관리됨)을 사용하고 싶습니다. 그러나 어떤 이유로 bash는 /usr/bin에서 git을 계속 선택합니다.

fredrik ~ $ whereis git
/usr/bin/git

내 PATH 변수에서 /usr/local/bin이 /usr/bin 앞에 오더라도

fredrik ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:~/bin:/usr/local/opt/openssl/bin

이유는 무엇이며, bash가 원하는 인스턴스를 선택하도록 하려면 어떻게 해야 합니까? 이미 /usr/bin에서 git 인스턴스를 제거하려고 시도했지만 시스템에서 허용되지 않습니다.

fredrik bin $ rm -rf git
rm: git: Operation not permitted

아마도 시스템 무결성 보호 등 때문일 것입니다.

답변1

당신은 아마~이다을 사용하여 /usr/local/bin/git. 문제는 올바른 질문을 하고 있지 않다는 것입니다. 사용하지 마십시오 whereis(당신이 생각하는 대로 작동하지 않습니다). 다음과 같이 사용하세요 which.

which -a git

git$PATH 순서로 알려진 모든 도구가 나열됩니다 . 아니면 간단하게 말할 수도 있어요

git --version

그러면 일반적인 git명령이 사용하는 버전이 무엇인지 알 수 있습니다.

관련 정보