![A tentativa de atualizar o Git no Mac OS X e desinstalar o Git antigo falha](https://rvso.com/image/1466438/A%20tentativa%20de%20atualizar%20o%20Git%20no%20Mac%20OS%20X%20e%20desinstalar%20o%20Git%20antigo%20falha.png)
Estou tentando atualizar o git no meu Mac OS X 10.8.5 (Mountain Lion).
Eu baixei esta nova versão emesse link, cliquei duas vezes em .dmg
e arrastei uninstall.sh
para o meu terminal (seguindo as instruçõeslá) para desinstalar a versão antiga e recebo:
Git doesn't appear to be installed via this installer. Aborting
Observe que git
está atualmente instalado no meu computador.
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ which git
/usr/bin/git
Por que não consigo desinstalar? Como posso atualizar git
?
Responder1
Em um Mac a maneira mais fácil é usarcerveja caseira.
- Instalar cerveja
- Siga as instruções (
brew doctor
direrá para você atualizar$PATH
seu/usr/local/bin:$PATH
brew install git
E pare de se preocupar com atualizações manuais, apenas execute brew update && brew upgrade
de vez em quando
Por que você não pode instalar o existente:
- A Apple tem uma instalação git padrão que o Xcode usa (presumindo que você instalou o Xcode ou pelo menos os utilitários de linha de comando)
Responder2
Resposta mais curta.
Não há necessidade de desinstalar o Xcode git
que você está vendo no Mac OS X. Basta adicionar /usr/local/git/bin
ao seu $PATH
editando ~/.bash_profile
para adicionar algo export PATH
como este:
export PATH="/usr/local/git/bin:$PATH"
Em seguida, feche e salve esse arquivo e carregue-o em sua sessão do Terminal, digitando isto:
source ~/.bash_profile
E o recém-instalado git
estará acessível para você de preferência ao Xcode instalado git
que você já possui.
Resposta mais longa.
Interpretando a mensagem de erro.
O problema pode ser entendido observando o conteúdo do uninstall.sh
script Bash que vem como pacote de instalação oficial do Git para Mac OS Xpara ver exatamente o que ele faz. Aqui está o trecho próximo ao topo que gera o erro que você está vendo:
#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
echo "Git doesn't appear to be installed via this installer. Aborting"
exit 1
fi
Observe a linha if [ ! -r "/usr/local/git" ]; then
, o script Bash está verificando a existência deste caminho de diretório:
/usr/local/git/
Mas quando você executou which git
o caminho do diretório que você obteve foi:
/usr/bin/
Isso indica que o instalador oficial instala git
seus itens /usr/local/git/
e não no diretório principal do Mac OS X de /usr/bin/
.
Então, qual é essa outra versão que git
você já possui? Vamos verificar a saída de git --version
para mais detalhes:
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
Você viu isso (Apple Git-31.1)
? Isso indica que foi instalado pela Apple. E como git
não faz parte da configuração principal do Mac OS X, a única maneira de instalá-lo seria via Xcode e binários de linha de comando relacionados.
Resumindo, você não pode – e não deve – tentar desinstalar a versão Xcode do git
. Em vez disso, você deseja fazer com que seu Terminal favoreça os git
binários instalados em /usr/local/git/bin/
vez dos binários principais do Mac OS X no formato /usr/bin/
. E você pode fazer isso modificando sua $PATH
configuração ~/.bash_profile
assim.
Resolvendo o problema.
Primeiro, abra ~/.bash_profile
em um editor de texto. Eu prefiro fazer isso diretamente na linha de comando usando nano
assim:
nano ~/.bash_profile
Agora, se não export $PATH
existir ~/.bash_profile
, basta adicionar uma $PATH
linha como esta ao arquivo:
export PATH="/usr/local/git/bin:$PATH"
Se export $PATH
existir um lá, faça uma modificação nesse valor para ficar /usr/local/git/bin
antes do principal $PATH
do sistema. Observe o :
delimitador.
Agora feche e salve esse arquivo e carregue-o em sua sessão do Terminal, digitando isto:
source ~/.bash_profile
Agora se você digitar:
which git
A saída deve ser:
/usr/local/git/bin/git
O que significa que seu Terminal $PATH
agora fará check-in /usr/local/git/bin/
antes de prosseguir para verificar outros diretórios em seus $PATH
valores padrão para o git
binário.
Portanto, sem desinstalar a versão Xcode, git
agora você pode baixar e instalar o binário oficial - e atualizado - git
e usá-lo sem lidar com o Homebrew ou qualquer outra coisa. Por exemplo, no meu sistema esta é a saída atual da git --version
seguinte forma:
git version 2.5.3
Não (Apple Git-31.1)
à vista. Apenas um git
número de versão puro, atualizado e pronto para uso graças a este $PATH
ajuste.
Responder3
Ter git
instalado simplesmente não é suficiente. Lembre-se também de que isso git
só funcionará se você estiver cd
em uma pasta funcional do repositório git. Isso significa que você deverá ver uma ./.git
pasta (dica: use ls -la
para ver pastas ocultas) e git status
deverá retornar algo semelhante ao exemplo abaixo:
[some_repo]$ git status
On branch master
Your branch is up-to-date with 'origin/prod'.
nothing to commit, working directory clean
mas se a pasta não for um repositório git válido, você verá algo assim:
[~]$ git status
fatal: Not a git repository (or any of the parent directories): .git