Jeg var nødt til at installere git fra kilden på RHEL. Efter installationen vises git-kommandoen i /usr/local/bin/git
når du prøver kommandoen whereis
. Denne sti er tilgængelig i $PATH
også.
Når jeg skriver git, står der stadig “Kommando ikke fundet.” Hvordan løses dette?
EDIT: output af forskellige kommandoer
$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: Det fungerer nu, men ved ikke hvorfor
Jeg afbrød telnetforbindelsen og loggede ind igen for få minutter tilbage og fandt ud af, at git-kommandoen fungerer. Jeg er ikke sikker på, hvad der fik det til at begynde at arbejde. Dette er forvirrende.
Kommentarer
Svar
Fra de fejlmeddelelser, du bruger (t) csh. Det ville hjælpe at nævne det i dit spørgsmål, især da du viser $
som din prompt, og det er traditionelt en Bourne-prompt, ikke en csh-prompt.
type
er en indbygget shell i Bourne-stil. Det gør det ikke ” findes ikke i csh. Når du kører type git
, fortæller det dig, at kommandoen type
ikke findes.
Mange skaller holder oplysninger om placeringen af kommandoer i søgestien i en cache. Jeg ved ikke, om nogen version af csh cacher negative opslag, men det ser ud til, at din gør det. Kør kommandoen rehash
for at opdatere cachen. Når du starter en ny shell-forekomst, er den har en ny cache og husker ikke, at git
ikke var til stede tidligere.
Kommentarer
- Hej Gilles, jeg skulle have nævnt skallen. Ked af det. Men jeg får $ i prompt til både bash og tcsh. i tsch er det [brugernavn @ systemnavn] $ format og i bash er det bash-3.2 $ format.
- Jeg tror, det er den tættest mulige forklaring på, hvad der skete. Jeg vil forsøge at genskabe dette og kontrollere og komme tilbage. Tak …
Svar
Sørg for, som i denne tråd , din shell er ikke ændret fra den, du skal få:
Jeg har lige fundet, at min shell blev ændret til csh, og det skabte problemet.
[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh
Jeg ændrede det til bash, og problemet blev løst!
[root@localhost ~]# type export export is a shell builtin
Det ville forklare hvorfor du får en “type: Command not found.
” fejlmeddelelse.
Jeg eksperimenterede med disse kommandoer:
[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
Kommentarer
- Ændring af shell til bash forårsager ' skriv ' kommando til at arbejde. Git-kommandoen fungerer nu selv uden at gå i bash. Ved ikke hvorfor! Se redigeringen.
Svar
Den mest sandsynlige årsag er, at du har den korrekte PATH
men ikke den korrekte LD_LIBRARY_PATH
.
Den seneste git
eksekverbar er en binær fil, der er dynamisk forbundet. Når du fulgte installationsinstruktionerne, placerede den sandsynligvis biblioteker (.so
filer) i /usr/local/lib
, skal du tilføje denne sti til din LD_LIBRARY_PATH
. Prøv det og kør derefter git:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
Hvis det ikke virker, kan du give output fra ldd /usr/local/bin/git
. Tak.
PS: hvis løsningen fungerede, skal du tilføje LD_LIBRARY_PATH-linjen til din .bash_profile
type git
,which git
,ls -l /usr/local/bin/git
output.file
og ikketype
😉 så han vil (og jeg også) for at se output frafile /usr/local/bin/git
type
er en shell indbygget idash
,bash
ogzsh
. Hvis du brugerksh
, har du muligvis en god undskyldning for ikke at vide det. (I mitksh
er der bare et alias tilwhence
med navnettype
. sikker på, hvor udbredt denne indstilling er.) pastebin.com/VzScxzRg