git의 Homebrew 설치는 시스템 버전 (/ usr / bin /)보다 우선하지 않습니다.


10

OS X (또는 Xcode)는 git 1.7.something과 함께 번들로 제공되지만 brew install git(1.8.0) 이후 which git에는 old를 계속 반환합니다 /usr/bin/git.

이것이 바로 $ PATH를 에코 할 때 얻는 것입니다.

/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

Homebrew 물건이 우선해서는 안됩니까?

또한, 나는 그것이 어디에서 usr/local/git/bin오는지 전혀 모른다 .


git이 실제로 / usr / local / bin에 있는지 확인 했습니까?
Joe Bane

네. ls /usr/local/bingit가 있습니다. Brew도 설치되어 있는지 확인합니다. 나는 심지어 git uninstaller ( brew uninstall공식 git 다운로드와 함께 제공되는 것과 함께 사용)를 실행하고 redid brew install git. 나는 계속 받고있다 which git = = /usr/bin/git".
o_o_o--

2
실행 which -a git은 전혀 그것을 찾는 것 있는지 확인합니다.
Joe Bane

답변:


7

알았다. 대답은 당신의 질문에 있습니다; brew는 git을 /usr/local/git/bin(not /usr/local/bin)에 설치 하지만 그 /usr/bin경로 가 끝난 후에 먼저 그것을 얻습니다. 에 대한 나의 의견 which -a git은이 방향으로 당신을 가리 켰을 것입니다.


1
실행 ls -l /usr/local/bin/git도. 그것은에 대한 상징적 인 링크입니다 내기 /usr/bin/git.
Joe Bane

아, 그리고 /usr/local/git/bin공식 설치 관리자가 넣는 곳 인 것처럼 보입니다.
Joe Bane

당신은 봐야 /etc/paths하고 /etc/paths.d잘한다.
Joe Bane

1
흥미로운 이벤트 전환이 있습니다 : which -a gitreturns /usr/local/bin/git; /usr/bin/git; /usr/local/bin/git. 그래서 나는 오래된 자식의 이름을 바꾸고 usr/bin/git_old길을 벗어났습니다. 이제 git --versionbrew가 git을 성공적으로 설치했음을 증명하여 1.8을 반환합니다. 다시 한 번 /usr/bin/git원래 이름으로 바꿨 는데 갑자기 제대로 작동합니다! 왜 또는 어떻게하는지 모르겠지만 /usr/bin/gitgit의 이름을 바꾸고 한 번 실행하면 문제가 해결 된 것 같습니다. 문제의 근원이 무엇인지 누가 알 수 있습니까? 어쨌든 고마워 :)
o_o_o-- 2

그거 이상 하네. 최소한 지금은 기쁘다.
Joe Bane

3

또한이 문제가 발생했습니다.

homebrew를 통해 git을 설치 한 후 실행 brew doctor하면 Joe가 위에서 언급 한 것처럼 설치 위치가 먼저 오기 때문에 시스템이 이전 git을 실행 중임을 경고합니다.

그러나 동일한 경고에서 homebrew는이를 수정하는 코드를 제공합니다.

$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

0

~/bin내가 시작할 때 넣은 디렉토리 를 갖는 것은 내 유닉스 습관의 일부였다 PATH. 이것은 내 첫 번째 비트 중 하나입니다 .bashrc.

case ":$PATH:" in
  *:$HOME/bin:*) ;;     # do nothing if $PATH already contains $HOME/bin
  *) PATH=$HOME/bin:$PATH ;;  # in every other case, add it to the front
esac

그런 다음 Homebrew 관리 형 git시스템 만 선택적으로 시스템 버전 ( 모든 Homebrew 관리 형 바이너리 대신)과 우선 순위를 설정하고 셸 세션 ( GUI 프로그램을 포함한 모든 프로그램 대신)을 선택 합니다. 심볼릭 링크처럼 간단합니다.

ln -s /usr/local/bin/git ~/bin/git
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.