comanda git nu a fost găsită

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

  • Vă rugăm să adăugați type git, which git, ls -l /usr/local/bin/git ieșiri.
  • @manatwork vă rugăm să consultați modificarea.
  • @Marco a adăugat rezultatul echo $ PATH .
  • Presupun că @manatwork a însemnat file și nu type 😉 așa că vrea (și și eu) pentru a vedea rezultatul file /usr/local/bin/git
  • @Huygens, type este un shell încorporat în dash, bash și zsh. În cazul în care utilizați ksh, este posibil să aveți o scuză bună pentru a nu-l ști. (În ksh există doar un alias la whence cu numele type. Nu sigur cât de răspândită este această setare.) pastebin.com/VzScxzRg

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *