Commande git introuvable

Jai dû installer git depuis les sources sur RHEL. Après linstallation, la commande git apparaît dans /usr/local/bin/git lorsque vous essayez la commande whereis. Ce chemin est disponible dans $PATH également.

Quand je tape git, il dit toujours « Commande introuvable ». Comment résoudre cela?

EDIT: sortie de diverses commandes

$type git type: Command not found. $which git git: Command not found. $ls -l /usr/local/bin/git -rwxr-xr-x 112 root users 5851488 Mar 15 20:07 /usr/local/bin/git $whereis git git: /usr/local/bin/git $echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 

EDIT: Cela fonctionne maintenant mais je ne sais pas pourquoi

Jai déconnecté la connexion telnet et je me suis reconnecté il y a quelques minutes et jai constaté que la commande git fonctionne. Je ne suis pas sûr de la raison pour laquelle il a commencé à fonctionner. Ceci est déroutant.

Commentaires

  • Veuillez ajouter type git, which git, ls -l /usr/local/bin/git sorties.
  • @manatwork veuillez voir la modification.
  • @Marco a ajouté la sortie de echo $ PATH .
  • Je suppose que @manatwork signifiait file et non type 😉 donc il veut (et moi aussi) pour voir la sortie de file /usr/local/bin/git
  • @Huygens, type est un shell intégré à dash, bash et zsh. Si vous utilisez ksh, vous pouvez avoir une bonne excuse pour ne pas le savoir. (Dans mon ksh, il y a juste un alias de whence avec le nom type. Non vérifier dans quelle mesure ce paramètre est répandu.) pastebin.com/VzScxzRg

Réponse

Daprès les messages derreur que vous « utilisez (t) csh. Il serait utile de le mentionner dans votre question, dautant plus que vous » affichez $ comme invite, et cest « traditionnellement une invite Bourne, pas une invite csh.

type est un shell intégré dans le style Bourne. t existent dans csh. Lorsque vous exécutez type git, cela vous indique que la commande type est introuvable.

De nombreux shells conservent des informations sur lemplacement des commandes dans le chemin de recherche dans un cache. Je ne sais pas si une version de csh met en cache les recherches négatives, mais il semble que la vôtre le fasse. Exécutez la commande rehash pour actualiser le cache. Lorsque vous démarrez une nouvelle instance de shell, elle a un nouveau cache et ne se souvient donc pas que git nétait pas présent plus tôt.

Commentaires

  • Salut Gilles, jaurais dû mentionner le shell. Désolé. Mais jobtiens $ dans linvite pour bash et tcsh. dans tsch cest le format [username @ systemname] $ et dans bash cest le format bash-3.2 $.
  • Je pense que cest lexplication la plus proche possible de ce qui sest passé. Je vais essayer de recréer ceci et vérifier et revenir. Merci …

Réponse

Assurez-vous que, comme dans ce fil , votre shell na pas changé de celui que vous êtes censé obtenir:

Je viens de découvrir que mon shell a été changé en csh et cela créait le problème.

[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh 

Je lai changé en bash et le problème a été résolu!

[root@localhost ~]# type export export is a shell builtin 

Cela expliquerait pourquoi vous obtenez un message derreur « type: Command not found.« .

Jai testé ces commandes:

[root@localhost ~]# csh [root@localhost ~]# type export type: Command not found. [root@localhost ~]# bash [root@localhost ~]# type export export is a shell builtin [root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/bash 

Commentaires

  • Changer le shell en bash provoque le ' tapez ' commande pour fonctionner. La commande git fonctionne maintenant même sans entrer dans bash. Je ne sais pas pourquoi! Veuillez voir la modification.

Réponse

La raison la plus probable est que vous avez le bon PATH mais pas le bon LD_LIBRARY_PATH.

Le dernier exécutable git est un fichier binaire lié dynamiquement. Lorsque vous avez suivi les instructions dinstallation, il a probablement placé des bibliothèques (.so fichiers) dans /usr/local/lib, vous devez ajouter ce chemin à votre LD_LIBRARY_PATH. Essayez-le, puis exécutez git:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git 

Si cela ne fonctionne pas, pourriez-vous fournir la sortie de ldd /usr/local/bin/git . Merci.

PS: si la solution a fonctionné, vous devez ajouter la ligne LD_LIBRARY_PATH à votre .bash_profile

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *