nie znaleziono polecenia git

Musiałem zainstalować git ze źródła na RHEL. Po zainstalowaniu polecenia git pojawia się /usr/local/bin/git podczas próby wykonania polecenia whereis. Ta ścieżka jest dostępna w $PATH również.

Kiedy piszę git, nadal wyświetla komunikat „Polecenie nie znaleziono”. Jak rozwiązać ten problem?

EDYCJA: wyjście różnych poleceń

$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 

EDYCJA: Działa teraz, ale nie wiem dlaczego

Rozłączyłem połączenie telnet i zalogowałem się ponownie kilka minut temu i stwierdziłem, że polecenie git działa. Nie jestem pewien, co spowodowało, że zaczął działać. To jest mylące.

Komentarze

  • Dodaj type git, which git, ls -l /usr/local/bin/git wyjścia.
  • @manatwork, zobacz edycję.
  • @Marco dodał wyjście echo $ PATH .
  • Wydaje mi się, że @manatwork oznaczało file, a nie type ;-), więc on chce (i ja też) aby zobaczyć wynik działania file /usr/local/bin/git
  • @Huygens, type jest wbudowaną powłoką w dash, bash i zsh. Jeśli używasz ksh, możesz mieć dobrą wymówkę, aby o tym nie wiedzieć. (W moim ksh jest tylko alias do whence o nazwie type. Nie upewnij się, jak powszechne jest takie ustawienie). pastebin.com/VzScxzRg

Odpowiedź

Z komunikatów o błędach, których „używasz” (t) csh. Wspomnienie o tym w pytaniu byłoby pomocne, zwłaszcza gdy „pokazujesz $ jako zachęta, a to „tradycyjnie zachęta Bournea, a nie zachęta csh.

type jest wbudowaną powłoką w stylu Bournea. nie istnieje w csh. Po uruchomieniu type git zostanie wyświetlony komunikat, że polecenie type nie zostało znalezione.

Wiele powłok przechowuje informacje o lokalizacja poleceń w ścieżce wyszukiwania w pamięci podręcznej. Nie wiem, czy jakakolwiek wersja csh buforuje negatywne wyszukiwania, ale wydaje się, że tak jest. Uruchom polecenie rehash, aby odświeżyć pamięć podręczną. Po uruchomieniu nowej instancji powłoki ma nową pamięć podręczną, więc nie pamięta, że git nie było wcześniej obecne.

Komentarze

  • Cześć Gilles, powinienem był wspomnieć o muszli. Przepraszam za to. Ale w monicie pojawia się znak $ zarówno dla bash, jak i tcsh. w tsch jest to format [nazwa_użytkownika @ nazwa_systemu] $, aw bash to format bash-3.2 $.
  • Myślę, że jest to najbliższe możliwe wyjaśnienie tego, co się stało. Spróbuję to odtworzyć, zweryfikować i wrócić. Dzięki …

Odpowiedź

Upewnij się, że tak jak w ten wątek , twoja powłoka nie zmieniła się w stosunku do tej, którą powinieneś dostać:

Właśnie odkryłem, że moja powłoka została zmieniona na csh i tworzyła problem.

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

Zmieniłem to na bash i problem został rozwiązany!

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

To by wyjaśniało dlaczego otrzymujesz komunikat o błędzie „type: Command not found.„.

Eksperymentowałem z tymi poleceniami:

[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 

Komentarze

  • Zmiana powłoki na bash powoduje ' wpisz ' polecenie, aby działało. Polecenie git działa teraz nawet bez wchodzenia w bash. Nie wiem dlaczego! Zobacz edycję.

Odpowiedź

Najbardziej prawdopodobnym powodem jest to, że masz prawidłową PATH, ale nie prawidłową LD_LIBRARY_PATH.

Najnowszy git plik wykonywalny to plik binarny, który jest dowiązany dynamicznie. Po wykonaniu instrukcji instalacji prawdopodobnie umieściłeś biblioteki (pliki .so) w /usr/local/lib, musisz dodać tę ścieżkę do swojego LD_LIBRARY_PATH. Spróbuj, a następnie uruchom git:

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

Jeśli to nie zadziała, czy możesz podać wynik ldd /usr/local/bin/git . Dzięki.

PS: jeśli rozwiązanie zadziałało, musisz dodać wiersz LD_LIBRARY_PATH do swojego .bash_profile

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *