Comando git não encontrado

Tive que instalar o git da fonte no RHEL. Após a instalação, o comando git mostra estar em /usr/local/bin/git ao tentar o comando whereis. Este caminho está disponível em $PATH também.

Quando eu digito git, ainda diz “Comando não encontrado”. Como resolver isso?

EDITAR: saída de vários comandos

$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 

EDITAR: Funciona agora, mas não sei por quê

Eu desconectei a conexão telnet e loguei novamente alguns minutos atrás e descobri que o comando git funciona. Não tenho certeza do que fez com que ele começasse a funcionar. Isso é confuso.

Comentários

  • Adicione o type git, which git, ls -l /usr/local/bin/git saídas.
  • @manatwork veja a edição.
  • @Marco adicionou a saída de echo $ PATH .
  • Acho que @manatwork significa file e não type 😉 então ele quer (e eu também) para ver a saída de file /usr/local/bin/git
  • @Huygens, type é um shell embutido em dash, bash e zsh. Caso use ksh, você pode ter uma boa desculpa para não saber. (Em meu ksh há apenas um alias para whence com o nome type. Não tenha certeza de quão difundida é essa configuração.) pastebin.com/VzScxzRg

Resposta

Pelas mensagens de erro que você está usando (t) csh. Seria útil mencioná-lo em sua pergunta, especialmente porque você “está mostrando $ como seu prompt, e isso “é tradicionalmente um prompt Bourne, não um prompt csh.

type é um shell embutido no estilo Bourne. Não” não existe no csh. Quando você executa type git, ele informa que o comando type não foi encontrado.

Muitos shells mantêm informações sobre a localização dos comandos no caminho de pesquisa em um cache. Não sei se alguma versão do csh armazena em cache pesquisas negativas, mas parece que a sua sim. Execute o comando rehash para atualizar o cache. Quando você inicia uma nova instância de shell, tem um cache atualizado e, portanto, não “lembra que git não estava presente antes.

Comentários

  • Olá Gilles, devia ter mencionado a concha. Desculpe por isso. Mas recebo $ no prompt para bash e tcsh. em tsch é o formato $ [username @ systemname] e em bash é o formato $ bash-3.2.
  • Acho que esta é a explicação mais próxima possível do que aconteceu. Vou tentar recriar isso e verificar e voltar. Obrigado …

Resposta

Certifique-se de que, como em neste tópico , seu shell não mudou do que você deveria obter:

Acabei de descobrir que meu shell foi alterado para csh e estava criando o problema.

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

Mudei para bash e o problema foi resolvido!

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

Isso explicaria por que você recebe uma mensagem de erro “type: Command not found.“.

Eu experimentei estes comandos:

[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 

Comentários

  • Alterar o shell para bash causa o ' type ' comando para funcionar. O comando git funciona agora mesmo sem entrar no bash. Não sei por quê! Consulte a edição.

Resposta

O motivo mais provável é que você tem o PATH correto, mas não o .

O mais recente git executável é um arquivo binário vinculado dinamicamente. Quando você seguiu as instruções de instalação, provavelmente colocou bibliotecas (.so arquivos) em /usr/local/lib, você precisa adicionar este caminho ao seu LD_LIBRARY_PATH. Experimente e execute git:

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

Se isso não funcionar, você poderia fornecer a saída de ldd /usr/local/bin/git . Obrigado.

PS: se a solução funcionou, você precisa adicionar a linha LD_LIBRARY_PATH ao seu .bash_profile

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *