Je rencontre un problème vraiment étrange lorsque j'essaie d'utiliser la dernière version de git que je viens d'installer via homebrew. which git
me pointe vers l'installation homebrew, mais appeler git
renvoie la version d'origine installée avec OS X.
J'ai vérifié d'abord pour voir la version originale sur laquelle j'étais.
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)
Ensuite, je suis allé à homebrew pour installer la dernière version.
[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
/usr/local/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
/usr/local/share/git-core/contrib
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/git/2.0.0: 1324 files, 31M
On dirait que ça a marché! Vérifiez qu'il pointe vers le bon git
[user@home ~]$ which git
/usr/local/bin/git
Ça devrait être bien, non? Pas si vite
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)
C'est bizarre. Suis-je vraiment pointé vers le bon git?
[user@home ~]$ ls -l /usr/local/bin/git
lrwxr-xr-x 1 user group 27 Jul 3 15:54 /usr/local/bin/git -> ../Cellar/git/2.0.0/bin/git
Bien sûr, ça y ressemble. Fonctionne lorsque je l'appelle manuellement
[user@home ~]$ /usr/local/Cellar/git/2.0.0/bin/git --version
git version 2.0.0
Mais pas aussi git
[user@home ~]$ which git
/usr/local/bin/git
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)
Des idées sur ce qui pourrait être à l'origine de cela?
EDIT: Résolu. source .bashrc
l'a corrigé. Toujours curieux de savoir pourquoi which
me retournerait l'exécutable correct, mais il ne serait pas appelé si quelqu'un pouvait expliquer cela.
$PATH
.Réponses:
Les shells conservent un cache des chemins où les exécutables ont été trouvés dans la
$PATH
variable. Donc, il a été mis en cache/usr/bin/git
plutôt que/usr/local/bin/git
, car ce dernier n'existait pas au démarrage de votre shell. L'exécutionhash -r
dans Bash à partir de votre terminal actuel effacera ce cache, alors la première instance trouvée dans$PATH
devrait être celle qui s'exécute.la source
hash -r
travaillé pour moiJ'ai exactement le même problème. Voici ma solution.
Après cela, vous avez terminé, mais vous ne pouvez pas voir les modifications lorsque vous exécutez
git --version
. Déconnectez-vous et reconnectez-vous, exécutez àgit --version
nouveau.la source
source ~/.bash_profile
.J'ai le même problème. J'ai simplement redémarré mon terminal.
la source
Mon problème était que l'application Mac GitHub était installée.
/usr/local/bin/git
pointait vers la version de l'application de git, pas la version Homebrew. La désinstallation de l'application GitHub a résolu le problème pour moi.la source
Lorsque vous utilisez homebrew pour mettre à jour git sur votre machine, procédez comme suit:
brew doctor
Résoudre les problèmes suggérés
brew update
si une nouvelle version de homebrew est disponiblebrew install git
pour télécharger et installer la dernière version de gitcourir vous
brew doctor
fera savoir quel'exécution
brew link git
entraînera l'erreurbrew link --overwrite git
pour remplacer le lien symbolique et pointer vers le git brew installé.la source
Ouvrez votre terminal. Entrez cette commande.
sudo nano /etc/paths
Copiez ensuite le chemin suivant en haut du fichier.
/usr/local/git/bin
Appuyez sur Ctrl + X et enregistrez.
Vérifier
git --version
Travaille pour moi.
la source
git/bin
. Tu veux direbin/git
? En outre, il n'est pas nécessaire d'ajouter cela à vos chemins -/usr/local/bin
est déjà là.