Příkaz git nebyl nalezen

Musel jsem nainstalovat git ze zdroje na RHEL. Po instalaci se příkaz git při pokusu o příkaz whereis zobrazí v /usr/local/bin/git. Tato cesta je k dispozici v $PATH také.

Když píšu git, stále říká „Příkaz nebyl nalezen.“ Jak to vyřešit?

EDIT: výstup různých příkazů

$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: Funguje to nyní, ale nevím proč

Odpojil jsem připojení k telnetu a před několika minutami jsem se znovu přihlásil a zjistil jsem, že příkaz git funguje. Nejsem si jistý, co způsobilo, že to začalo fungovat. To je matoucí.

Komentáře

  • Přidejte prosím type git, which git, ls -l /usr/local/bin/git výstupy.
  • @manatwork viz úpravy.
  • @Marco přidal výstup echo $ PATH .
  • Myslím, že @manatwork měl na mysli file a ne type 😉 takže chce (a také já) vidět výstup file /usr/local/bin/git
  • @Huygens, type je shell zabudovaný do dash, bash a zsh. Pokud používáte ksh, můžete mít dobrou výmluvu, že o tom nevíte. (V mém ksh existuje pouze alias whence s názvem type. Ne ujistěte se, jak je takové nastavení rozšířené.) pastebin.com/VzScxzRg

Odpovědět

Z chybových zpráv používáte (t) csh. Pomohlo by to zmínit ve vaší otázce, zvláště když zobrazujete $ jako výzva, a to je tradičně výzva Bourne, nikoli výzva csh.

type je vestavěný v prostředí Bourneova stylu. v csh neexistují. Když spustíte type git, řekne vám, že příkaz type nebyl nalezen.

Mnoho prostředí uchovává informace o umístění příkazů ve vyhledávací cestě v mezipaměti. Nevím, jestli některá verze csh ukládá do paměti negativní vyhledávání, ale zdá se, že vaše ano. Spusťte příkaz rehash a obnovte mezipaměť. Když spustíte novou instanci prostředí, má novou mezipaměť, takže si ani nepamatuje, že git nebyl dříve přítomen.

Komentáře

  • Ahoj Gilles, měl jsem zmínit skořápku. Omlouvám se za to. Ale dostanu $ do výzvy pro bash i tcsh. v tsch je to formát [username @ systemname] $ a v bash je to formát bash-3.2 $.
  • Myslím, že toto je nejbližší možné vysvětlení toho, co se stalo. Pokusím se to znovu vytvořit a ověřit a vrátit se zpět. Díky …

Odpovědět

Ujistěte se, že stejně jako v toto vlákno , váš shell se nezměnil od toho, který byste měli získat:

Právě jsem zjistil, že můj shell se změnil na csh a to vytvářelo problém.

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

Změnil jsem to na bash a problém byl vyřešen!

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

To by vysvětlovalo proč se zobrazuje chybová zpráva „type: Command not found.„.

Experimentoval jsem s těmito příkazy:

[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 

Komentáře

  • Změna prostředí na bash způsobí ' do práce zadejte příkaz '. Příkaz git nyní funguje i bez použití bash. Nevíte proč! Viz úprava.

Odpověď

Nejpravděpodobnějším důvodem je, že máte správný PATH, ale ne správný LD_LIBRARY_PATH.

Nejnovější git spustitelný soubor je binární soubor, který je dynamicky propojen. Když jste postupovali podle pokynů k instalaci, pravděpodobně umístili knihovny (.so soubory) do /usr/local/lib, musíte tuto cestu přidat do svého LD_LIBRARY_PATH. Zkuste to a poté spusťte git:

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

Pokud to nefunguje, můžete poskytnout výstup ldd /usr/local/bin/git . Děkujeme.

PS: pokud řešení fungovalo, musíte do řádku .bash_profile

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *