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
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
přidat řádek LD_LIBRARY_PATH. div>
type git
,which git
,ls -l /usr/local/bin/git
výstupy.file
a netype
😉 takže chce (a také já) vidět výstupfile /usr/local/bin/git
type
je shell zabudovaný dodash
,bash
azsh
. Pokud používáteksh
, můžete mít dobrou výmluvu, že o tom nevíte. (V mémksh
existuje pouze aliaswhence
s názvemtype
. Ne ujistěte se, jak je takové nastavení rozšířené.) pastebin.com/VzScxzRg