
estou tentando conseguirnpmtrabalhar. No processo, parece que tenho duas versões instaladas: uma corrompida instalada em ~/bin e outra que acabei de compilar e executar make install
para colocá-la em /usr/local/bin/npm
.
Então, mudei toda a pasta ~/bin para ~/old/bin ... mas ainda assim, quando executo npm
as pesquisas do sistema em ~/bin:
$ which npm
/usr/local/bin/npm
$ alias npm
-bash: alias: npm: not found
$ npm
-bash: /home/ubuntu/bin/npm: No such file or directory
$ echo $PATH
/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$
O que faz com que o Ubuntu procure por npm em ~/bin/npm
? Estou usando o Ubuntu 11.10. Não sei se a pergunta é específica do Ubuntu ou não, ela pode ser movida para o askubuntu, se necessário.
Eu vejo ~/bin no PATH, mas pelo que entendi, isso significa apenas que se o npm estivesse presente em ~/bin então ele o teria usado ... mas por que o bash insiste em procurá-lo especificamente lá? Por que não find /usr/local/bin/npm
, mesmo que o which
comando o encontre?
Responder1
A localização anteriormente conhecida do executável provavelmente foi criptografada pelo shell. Redefinir o cache do shell hash -r
deve resolver o problema.
Se não quiser redefinir todo o cache, você pode excluir a entrada individual para npm
usar hash -d npm
.