OS X (o Xcode) viene incluido con git 1.7.algo, pero después brew install git
(1.8.0), which git
sigue devolviendo lo viejo /usr/bin/git
.
Esto es lo que obtengo cuando hago eco de $ PATH en este momento:
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
¿No deberían tener prioridad las cosas de Homebrew?
Además, no tengo idea de dónde usr/local/git/bin
viene eso al final.
ls /usr/local/bin
muestragit
está ahí. Brew también confirma que está instalado. Incluso ejecuté el desinstalador de git (brew uninstall
usando y usando el que viene con la descarga oficial de git) y redidbrew install git
. Sigo recibiendowhich git = = /usr/bin/git"
.which -a git
para ver si lo está encontrando.Respuestas:
Entendido. La respuesta está en tu pregunta; brew instala git en
/usr/local/git/bin
(no/usr/local/bin
) pero como eso está después/usr/bin
en tu camino, obtienes ese primero. Mi comentario parawhich -a git
debería haberte señalado en esta dirección.fuente
ls -l /usr/local/bin/git
también. Apuesto a que es un enlace simbólico a/usr/bin/git
./usr/local/git/bin
parece ser donde el instalador oficial lo pone también./etc/paths
y/etc/paths.d
también.which -a git
devoluciones/usr/local/bin/git; /usr/bin/git; /usr/local/bin/git
. Así que cambié el nombre del viejo gitusr/bin/git_old
y lo quité del camino. Ahoragit --version
devuelve 1.8, lo que demuestra que brew instaló git con éxito. - Nuevamente, cambié el nombre/usr/bin/git
a su nombre original ... ¡y de repente funciona correctamente! No sé por qué ni cómo, pero renombrar/usr/bin/git
y ejecutar git una vez parece haber resuelto el problema. Quién sabe cuál fue la raíz del problema. Gracias de todos modos :)También me encontré con este problema.
Después de instalar git a través de homebrew, si ejecuta
brew doctor
, le advertirá que, como Joe mencionó anteriormente, el sistema está ejecutando el viejo git porque su ubicación de instalación es lo primero.Pero, en la misma advertencia, homebrew da el código para solucionarlo:
fuente
Ha sido parte de mis hábitos de Unix tener un
~/bin
directorio que puse al comienzo de miPATH
. Este es uno de los primeros bits en mi.bashrc
:Con eso en su lugar, hacer que selectivamente solo el Homebrew administrado
git
tenga prioridad sobre la versión del sistema (en lugar de todos los binarios administrados por Homebrew), y solo para sus sesiones de shell (en lugar de todos los programas iniciados desde cualquier lugar, incluidos los programas GUI), es tan simple como simularlo:fuente