A trebuit să instalez git din sursă pe RHEL. După instalare, se arată că comanda git se află în /usr/local/bin/git
la încercarea comenzii whereis
. Această cale este disponibilă în $PATH
, de asemenea.
Când scriu git tot scrie „Comanda nu a fost găsită”. Cum se rezolvă acest lucru?
EDIT: ieșirea diferitelor comenzi
$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: Funcționează acum, dar nu știu de ce
Am deconectat conexiunea telnet și m-am conectat din nou cu câteva minute în urmă și am constatat că comanda git funcționează. Nu sunt sigur de ce a făcut să înceapă să funcționeze. Acest lucru este confuz.
Comentarii
Răspuns
Din mesajele de eroare pe care le folosiți (t) csh. Ar fi util să menționați acest lucru în întrebarea dvs., mai ales că afișați $
ca prompt și este „în mod tradițional un prompt Bourne, nu un prompt csh.
type
este un shell încorporat în stil Bourne. Nu face asta” nu există în csh. Când rulați type git
, acesta vă spune că comanda type
nu este găsită.
Multe shell-uri păstrează informații despre locația comenzilor în calea de căutare într-un cache. Nu știu dacă vreo versiune de csh păstrează cache-urile căutărilor negative, dar se pare că a ta o face. Rulați comanda rehash
pentru a reîmprospăta memoria cache. Când porniți o nouă instanță shell, aceasta are o memorie cache proaspătă și, așadar, nu „reține că git
nu a fost prezent mai devreme.
Comentarii
- Bună Gilles, ar fi trebuit să menționez cochilia. Imi pare rau pentru asta. Dar primesc $ în prompt atât pentru bash, cât și pentru tcsh. în tsch este formatul [username @ systemname] $ și în bash este formatul bash-3.2 $.
- Cred că aceasta este cea mai apropiată explicație posibilă de ceea ce s-a întâmplat. Voi încerca să recreez acest lucru și să verific și să revin. Mulțumesc …
Răspuns
Asigurați-vă că, la fel ca în acest fir , shell-ul dvs. nu s-a schimbat față de cel pe care ar trebui să îl obțineți:
Tocmai am descoperit că shell s-a schimbat în csh și a creat problema.
[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh
L-am schimbat în bash și problema a fost rezolvată!
[root@localhost ~]# type export export is a shell builtin
Asta ar explica de ce primiți un mesaj de eroare „type: Command not found.
„.
Am experimentat aceste comenzi:
[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
Comentarii
- Schimbarea shell-ului la bash determină ' tastați comanda ' pentru a funcționa. Comanda git funcționează acum chiar și fără a intra în bash. Nu știu de ce! Vă rugăm să consultați modificarea.
Răspuns
Cel mai probabil motiv este că aveți PATH
corect, dar nu .
Cel mai recent executabil git
este un fișier binar care este legat dinamic. Când ați urmat instrucțiunile de instalare, probabil că a plasat biblioteci (fișiere .so
) în /usr/local/lib
, trebuie să adăugați această cale la LD_LIBRARY_PATH
. Încercați-l și apoi rulați git:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
Dacă acest lucru nu funcționează, ați putea furniza rezultatul ldd /usr/local/bin/git
. Mulțumesc.
PS: dacă soluția a funcționat, trebuie să adăugați linia LD_LIBRARY_PATH la .bash_profile
type git
,which git
,ls -l /usr/local/bin/git
ieșiri.file
și nutype
😉 așa că vrea (și și eu) pentru a vedea rezultatulfile /usr/local/bin/git
type
este un shell încorporat îndash
,bash
șizsh
. În cazul în care utilizațiksh
, este posibil să aveți o scuză bună pentru a nu-l ști. (Înksh
există doar un alias lawhence
cu numeletype
. Nu sigur cât de răspândită este această setare.) pastebin.com/VzScxzRg