0 votes

Comment restaurer la version Apple par défaut de Git après l'avoir renommé dans Mac OS Mojave et avoir lié git à la version homebrew ?

Je voulais que Mac OS utilise ma version maison de git après avoir brew install git . J'ai donc renommé par erreur mon git Apple Default en faisant :

$mv /usr/bin/git /usr/bin/git~apple
$ git --version
git version 2.25.0

J'essaie de désinstaller la version homebrew de git et de revenir à la version Apple de git.

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

$ which git
/usr/local/bin/git

$ brew uninstall git
Uninstalling /usr/local/Cellar/git/2.25.0... (1,523 files, 45.6MB)
$cp /usr/bin/git~apple /usr/bin/git

$mv /usr/bin/git~apple /usr/bin/git

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

$ which git
/usr/bin/git

$ git --version
-bash: /usr/local/bin/git: No such file or directory

Il semble qu'après avoir désinstallé homebrew et déplacé le fichier git original à son emplacement, git trouve le $PATH correct pour git, mais git --version ne trouve pas git. Comment puis-je restaurer correctement la version Apple originale de git ?

1voto

nohillside Points 82672

Les shells mémorisent les chemins d'accès aux commandes que vous avez exécutées au cours d'une session. Vous pouvez utiliser le chemin d'accès hash pour gérer les chemins d'accès mémorisés (de man bash ) :

hash [-lr] [-p filename] [-dt] [name]
For each name, the full file name of the command is determined by searching the directories
in $PATH and remembered. If the -p option is supplied, no path search is performed, and filename
is used as the full file name of the command. The -r option causes the shell to forget all 
remembered locations. The -d option causes the shell to forget the remembered location of each
name. If the -t option is supplied, the full pathname to which each name corresponds is printed.
If multiple name arguments are supplied with -t, the name is printed before the hashed full pathname.
The -l option causes output to be displayed in a format that may be reused as input. If no arguments
are given, or if only -l is supplied, information about remembered commands is printed. The 
return status is true unless a name is not found or an invalid option is supplied.

Exécuter hash -r pour effacer tous les chemins de commande que votre shell a mis en cache (ou hash -d git pour supprimer l'entrée pour git ). L'ouverture d'un nouvel onglet ou d'une nouvelle fenêtre du terminal a le même effet.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X