Estoy intentando actualizar git en mi Mac OS X 10.8.5 (Mountain Lion).
Descargué esta nueva versión deeste enlace, hice doble clic en .dmg
y luego lo arrastré uninstall.sh
a mi terminal (siguiendo las instruccionesallá) para desinstalar la versión anterior y obtengo:
Git doesn't appear to be installed via this installer. Aborting
Tenga en cuenta que git
actualmente está instalado en mi computadora.
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ which git
/usr/bin/git
¿Por qué no puedo desinstalar? ¿Cómo puedo actualizar git
?
Respuesta1
En una Mac, la forma más sencilla es utilizarcerveza casera.
- instalar cerveza
- Siga las instrucciones (
brew doctor
le indicará que actualice su$PATH
con/usr/local/bin:$PATH
brew install git
Y deja de preocuparte por las actualizaciones manuales, simplemente ejecútalas brew update && brew upgrade
de vez en cuando
Por qué no puedes instalar el existente:
- Apple tiene una instalación de git predeterminada que usa Xcode (suponiendo que instaló Xcode o al menos las utilidades de línea de comando)
Respuesta2
Respuesta más corta.
No es necesario desinstalar el Xcode git
que estás viendo en Mac OS X. Simplemente agrégalo /usr/local/git/bin
editando $PATH
para ~/.bash_profile
agregar algo export PATH
como este:
export PATH="/usr/local/git/bin:$PATH"
Luego cierre y guarde ese archivo y cárguelo en su sesión de Terminal escribiendo esto:
source ~/.bash_profile
git
Y podrá acceder al Xcode recién instalado con preferencia al Xcode instalado git
que ya tiene.
Respuesta más larga.
Interpretación del mensaje de error.
El problema se puede entender mirando el contenido del uninstall.sh
script Bash que viene conel paquete de instalación oficial de Git para Mac OS Xpara ver exactamente lo que hace. Aquí está el fragmento cerca de la parte superior que arroja el error que estás viendo:
#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
echo "Git doesn't appear to be installed via this installer. Aborting"
exit 1
fi
Tenga en cuenta la línea if [ ! -r "/usr/local/git" ]; then
, el script Bash está comprobando la existencia de esta ruta de directorio:
/usr/local/git/
Pero cuando ejecutaste which git
la ruta del directorio de ruta que obtuviste fue:
/usr/bin/
Eso indica que el instalador oficial instala git
sus elementos en /usr/local/git/
y no en el directorio principal de Mac OS X de /usr/bin/
.
Entonces, ¿cuál es esa otra versión que git
ya tienes? Revisemos el resultado de git --version
para más detalles:
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
¿Ves eso (Apple Git-31.1)
? Eso indica que fue instalado por Apple. Y como git
no forma parte de la configuración principal de Mac OS X, la única forma de instalarlo fue a través de Xcode y los binarios de línea de comandos relacionados.
En resumen, no puedes (y no debes) intentar desinstalar la versión Xcode de git
. En su lugar, desea que su Terminal prefiera los git
binarios instalados en /usr/local/git/bin/
lugar de los binarios principales de Mac OS X en /usr/bin/
. Y puede hacer esto modificando su $PATH
configuración de ~/.bash_profile
esta manera.
Solucionando el problema.
Primero, ábrelo ~/.bash_profile
en un editor de texto. Prefiero hacer esto directamente en la línea de comando usando nano
así:
nano ~/.bash_profile
Ahora, si no export $PATH
existe nada en eso ~/.bash_profile
, simplemente agregue una $PATH
línea como esta al archivo:
export PATH="/usr/local/git/bin:$PATH"
Si export $PATH
existe un allí, haga una modificación a ese valor para llegar /usr/local/git/bin
a estar antes del principal $PATH
del sistema. Tenga en cuenta el :
delimitador.
Ahora cierre y guarde ese archivo y cárguelo en su sesión de Terminal escribiendo esto:
source ~/.bash_profile
Ahora si escribes:
which git
La salida debería ser:
/usr/local/git/bin/git
Lo que significa que su Terminal $PATH
ahora se registrará /usr/local/git/bin/
antes de pasar a verificar otros directorios en sus $PATH
valores predeterminados para el git
binario.
Entonces, sin desinstalar la versión de Xcode, git
ahora puede descargar e instalar el git
binario oficial (y actualizado) y usarlo sin tener que lidiar con Homebrew ni nada más. Por ejemplo, en mi sistema, la salida actual git --version
es la siguiente:
git version 2.5.3
No (Apple Git-31.1)
a la vista. Solo un git
número de versión puro, actualizado y listo para usar gracias a este $PATH
ajuste.
Respuesta3
Tenerlo git
instalado simplemente no es suficiente. Recuerde también que eso git
solo funcionará si está cd
en una carpeta de repositorio de git funcional. Esto significa que debería ver una ./.git
carpeta (sugerencia: úsela ls -la
para ver carpetas ocultas) y git status
debería devolver algo similar al siguiente ejemplo:
[some_repo]$ git status
On branch master
Your branch is up-to-date with 'origin/prod'.
nothing to commit, working directory clean
pero si la carpeta no es un repositorio de git válido, verás algo como esto:
[~]$ git status
fatal: Not a git repository (or any of the parent directories): .git