Homebrew가 설치된 git을 사용할 수 없습니다


16

방금 homebrew를 통해 설치 한 최신 버전의 git을 사용하려고 할 때 정말 이상한 문제가 발생합니다. which git가 홈 브루 설치를 가리키고 있지만 호출 git하면 OS X과 함께 설치된 원래 버전이 반환됩니다.

나는 원래 버전을 확인하기 위해 먼저 확인했다.

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

그런 다음 최신 버전을 설치하기 위해 홈 브루에갔습니다.

[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The 'contrib' directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/git/2.0.0: 1324 files, 31M

효과가있는 것 같습니다! 그것이 올바른 자식을 가리키는 지 확인하십시오

[user@home ~]$ which git
/usr/local/bin/git

좋을까요? 그렇게 빠르지 않은

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

이상 하네. 나는 정말로 올바른 자식을 가리키는가?

[user@home ~]$ ls -l /usr/local/bin/git
lrwxr-xr-x  1 user  group  27 Jul  3 15:54 /usr/local/bin/git -> ../Cellar/git/2.0.0/bin/git

그래요 수동으로 호출하면 작동합니다.

[user@home ~]$ /usr/local/Cellar/git/2.0.0/bin/git --version
git version 2.0.0

그러나 git

[user@home ~]$ which git
/usr/local/bin/git
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

이 문제를 일으킬 수있는 아이디어가 있습니까?

편집 : 해결했습니다. source .bashrc고쳤다. 왜 which올바른 실행 파일을 반환 하는지 궁금하지만 여전히 설명 할 수 있다면 호출되지는 않습니다.


문제가 무엇인지 정확히 모르지만 현재 값인을보고 싶을 것 같습니다 $PATH.
Zev Eisenberg

3
설치 한 모든 버전의 git을보고 싶다면-> which -a git-(git, PATH 변수에서 처음 발견 된 경로를 제공합니다)를 사용하여 PATH에있는 경로를 확인하십시오. -> echo $ PATH
konqui

답변:


25

셸은 $PATH변수 에서 실행 파일이있는 경로의 캐시를 유지 관리 합니다. 따라서 쉘이 시작될 때 후자가 없으므로 캐시가 /usr/bin/git아닌 캐시 /usr/local/bin/git되었습니다. hash -r현재 터미널에서 Bash로 실행 하면이 캐시가 지워지고 처음 발견 된 인스턴스 $PATH가 실행됩니다.


hash -r나를 위해 일
금속 기어 솔리드

5

나는 똑같은 문제를 겪었다. 여기 내 해결책이 있습니다.

brew uninstall git
# make sure everything is alright, maybe brew will give you some hint
brew doctor
brew update  
brew install git
# magic happen, brew will give you hint /usr/bin occurs before /usr/local/bin
# and recommend you run following command
brew doctor
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

그 후에는을 실행할 때 변경 사항을 볼 수 없습니다 git --version. 로그 아웃했다가 다시 로그인 한 후 git --version다시 실행 하십시오.


7
새 터미널 창을 여는 것으로 충분합니다. 또는을 호출 할 수도 있습니다 source ~/.bash_profile.
Daniel B

이 단계는 정확히 필요한 단계였으며 최신 버전의 git을 사용하여 시스템을 설정하는 데 도움이되었습니다. 또한 git-scm.com에서 다운로드 한 다른 git 복사본을 발견 했으므로 uninstall.sh 스크립트를 실행하여 제거했습니다. 팡과 옌스에게 감사합니다.
Michael Sheaver

단계 감사합니다. 나를 위해 마지막 echo 명령을 실행하지 않고 자동으로 git --version을 사용할 수있었습니다.
Michael Fulton


-1

내 문제는 Mac GitHub 앱이 설치되어 있다는 것입니다. /usr/local/bin/gitHomebrew 버전이 아닌 앱의 git 버전을 가리 켰습니다. GitHub 앱을 제거하면 문제가 해결되었습니다.


-1

homebrew를 사용하여 컴퓨터에서 자식을 업데이트하는 경우 다음 단계를 수행하십시오.

brew doctor

제안 된 문제 해결

brew update 최신 버전의 homebrew가있는 경우

brew install git git의 최신 버전을 다운로드하여 설치하는 방법

실행 brew doctor하면 알려줄 것입니다.

경고 : 지하실에 연결되지 않은 통이 있습니다

실행 brew link git하면 오류가 발생합니다

오류 : bin / git을 심볼릭 링크 할 수 없습니다

대상 / usr / local / bin / git이 이미 존재합니다. 당신은 그것을 제거 할 수 있습니다 :

rm '/ usr / local / bin / git'

brew link --overwrite git 심볼릭 링크를 덮어 쓰고 설치된 깃 추출기를 가리 킵니다.


-1

터미널을여십시오. 이 명령을 입력하십시오.

sudo nano /etc/paths

그런 다음 파일 상단에 다음 경로를 복사하십시오.

/usr/local/git/bin

control + X를 누르고 저장하십시오.

검사 git --version

나를 위해 작동합니다.


그런 파일이 없습니다 git/bin. 당신은 의미 bin/git합니까? 또한 경로에 추가 할 필요가 없습니다 – /usr/local/bin이미 있습니다.
slhck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.