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
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
type git
,which git
,ls -l /usr/local/bin/git
saídas.file
e nãotype
😉 então ele quer (e eu também) para ver a saída defile /usr/local/bin/git
type
é um shell embutido emdash
,bash
ezsh
. Caso useksh
, você pode ter uma boa desculpa para não saber. (Em meuksh
há apenas um alias parawhence
com o nometype
. Não tenha certeza de quão difundida é essa configuração.) pastebin.com/VzScxzRg