Não é possível encontrar o binário, mas o caminho incluído no $ PATH

7

Então eu tentei instalar o Mercurial no Ubuntu 10.04. Primeiro usei o ppa repo, mas recebi um erro pythonpath , que dei em cima. A próxima tentativa foi instalar a partir do código-fonte, tudo correu bem, exceto que não é possível encontrar hg:

$ hg
-bash: /usr/bin/hg: No such file or directory

No entanto, hg está instalado em / usr / local / bin /:

$ which hg
/usr/local/bin/hg

O PATH inclui este diretório, então por que hg não foi encontrado?

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Se eu executar hg com o caminho completo, ele funciona:

$ /usr/local/bin/hg --version

Qualquer ajuda é muito apreciada!

    
por floorish 04.06.2011 / 01:17

1 resposta

7

O Bash mantém um cache de locais de executáveis em $PATH . Você teve hg em /usr/bin em algum momento e executou esse shell. Agora você removeu /usr/bin/hg . Você precisa dizer ao seu shell em execução para esquecer este local:

hash hg

Um novo shell não teria esse problema, já que o cache não é compartilhado entre as instâncias do shell.

    
por 04.06.2011 / 01:28