He instalado la versión más nueva de git (1.8.3) usando homebrew pero cuando escribo
git --version
en mi terminal, imprime:
git version 1.7.10.2 (Apple Git-33)
¿Qué debo hacer para reemplazar la versión anterior de git por la nueva?
He instalado la versión más nueva de git (1.8.3) usando homebrew pero cuando escribo
git --version
en mi terminal, imprime:
git version 1.7.10.2 (Apple Git-33)
¿Qué debo hacer para reemplazar la versión anterior de git por la nueva?
Respuestas:
Gracias a todos por las respuestas útiles. En mi caso agregando
export PATH="/usr/local/bin:${PATH}"
en ~/.bash_profile
seguido de
source ~/.bash_profile
resuelto el problema para mi usuario.
/usr/local/bin
por encima /usr/bin
de /etc/paths
.
brew doctor
para diagnosticar el problema
/etc/paths
. Definir solo la "exportación" puede no ser suficiente, si /usr/bin
tiene "prioridad" sobre /usr/local/bin
(del brew) ...
Ok, estoy listo para tomarme en serio la ciencia ficción.
$ git --version
git version 1.9.5 (Apple Git-50.3)
No, eso no es lo que quería. I <3 homebrew, entonces:
$ brew install git
¿Todo listo?
$ git --version
git version 1.9.5 (Apple Git-50.3)
Doh! (rasca la cabeza)
$ which git
/usr/bin/git
Ah, el git de Apple está en / usr / bin, por lo que supera al homebrew. ¿Qué hacer?
(A) Simplemente cambie el nombre del binario de Apple
(B) Deje que uno administrado por homebrew tenga prioridad:
[editar PATH exportar, por ejemplo, en ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[específicamente: move / usr / local / bin / git: before / usr / bin:]
... y / o (por ejemplo, para permitir más ampliamente que las cosas de homebrew triunfen en las instalaciones del sistema y que la prioridad se aplique a todos los shells y usuarios) también edite el archivo / etc / path, [moving / usr / local / bin encima / usr / bin ]
Pero suponiendo solo el enfoque más simple / menos invasivo:
$ sudo mv /usr/bin/git /usr/bin/git-apple
¿Funcionó?
$ which git
/usr/local/bin/git
Hasta ahora todo bien, ahora el momento de la verdad:
$ git --version
git version 2.2.1
w00t! :) ¡Es hora de ir a leer http://git-scm.com ! :)
which git
señalando /usr/local/bin/git
, esto no funcionó para mí. Para resolver esto, tuve que desinstalar la aplicación GitHub Mac.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Todos los trucos mencionados aquí en varias respuestas ya no son necesarios en macOS Sierra & Mojave con el último Homebrew. Olvídate export PATH="..."
y modificaciones a ~/.bash_profile
.
Simplemente lo haces
brew install git
y listo
Para confirmar, abra una nueva ventana de terminal (!) Y escriba
git --version
brew link --overwrite git
funcionó para mí
Una vez que haya instalado el último git a través de brew ( brew install git
), ejecute esta línea (como lo sugiere brew doctor
) si aún no está allí:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Luego salga de Terminal y ábralo nuevamente (reinicie su sesión bash). Debe hacer esto incluso si su RUTA ya era correcta, ya que ZSH y Bash almacenan en caché el contenido de RUTA (consulte la documentación sobre el comando incorporado hash
).
Eso debería arreglar las cosas muy rápido.
Cuando escribes
git --version
en Terminal.app o consola, su comentario sobre otra pregunta indica que la versión que devuelve es el git en / usr / bin / git
Si instaló Xcode 4.5 (y más reciente), y escriba
xcrun git --version
en Terminal.app o consola, la versión que devuelve es el git en el paquete de la aplicación Xcode.
Si está utilizando Homebrew para instalar y actualizar git, la solución más simple es
cambie el nombre de la ubicación original renombrándola usando mv. Por ejemplo
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
cree un enlace suave usando 'ln -s' al binario git que instaló con Homebrew.
Tenga en cuenta que MattDMo tiene una mejor solución en los comentarios.
/usr/bin
, ya que es posible que otros programas que ni siquiera conoces dependan de los caprichos asociados con una versión en particular. La solución más fácil, sin mover nada, es agregar /usr/local/bin
a su $PATH
variable de entorno antes /usr/bin
- IIRC, homebrew se instala en/usr/local/bin
Intenté esto y me funciona.
brew link --overwrite git
Debe cambiar el nombre del git original por apple en, /usr/bin/
por ejemplo, git-org, ya /usr/bin
que normalmente está antes /usr/local/bin
en su directorio de ruta donde está el material de preparación.
Entonces:
cd /usr/bin
sudo mv git git-org
y no olvides vincular el brew git
brew link git
Esto supone que /usr/local/bin
está en su $PATH
variable de entorno. Si aún tiene problemas, intente ejecutar
brew doctor
y solucionar los problemas mencionados allí.
/usr/local/bin
(directorio de instalación de homebrew, IIRC) al $PATH
frente en /usr/bin
lugar de perder el tiempo con el cambio de nombre y la copia de seguridad, etc.
Instale git con brew, ejecute esto.
brew link --force git
Cierre y vuelva a abrir la terminal para ejecutar which git
.
brew link --overwrite git
funcionó
Si está instalando git desde git-scm.com directamente y desea utilizar la última versión descargada de git en lugar de la versión de Apple (antigua) de git.
/usr/local/bin/git
git --version
, si devuelve la versión anterior de Apple de git, continúe a continuacióncd ~
(cambie el directorio a su directorio de inicio)vi .bashrc
i
(para insertar texto en el editor vi)export PATH.......
, presione Intro en la parte superior de la exportación y escriba lo siguiente: export PATH=/usr/local/:$PATH
(Tenga mucho cuidado con la PATH
variable, no la estropee, de lo contrario causará problemas para su sistema operativo) (con suerte, se debe instalar un nuevo git /usr/local/git
):wq
(para guardar el .bashrc
archivo)git --version
(debería ver una nueva versión)Depende de dónde provenga tu git. Xcode trae una versión, por ejemplo, tal vez eso sea por adelantado en su camino.
Tal vez escribiendo
which git
mostrará dónde está el viejo.
/usr/bin/git
...
Para actualizar cualquier cosa usando Homebrew en OSX que implique compilación usando gcc, asegúrese de tener las herramientas de línea de comandos actualizadas de Xcode; sí, lo sé, apesta tener que ocultar una herramienta de todo el sistema en las preferencias de una aplicación.
brew doctor
y repare todos los demás obstáculosbrew upgrade
para actualizar todos los paquetes a la vez