Inconsistências com o comando

1

Estou usando a ferramenta n para atualizar minha versão atual do nó, mas algo estranho está acontecendo.

Corri sudo n latest , o que, em teoria, busca a versão mais recente do Node ( v0.12.0 e instala em algum lugar que já esteja no meu $PATH .

No entanto, a execução de node -v mostra v0.10.25 . Eu percebi que havia outra versão do nó exe em outro lugar no meu caminho.

which node mostra /usr/local/bin/node .

$ cd /usr/local/bin/node
$ node -v
v0.10.25
$ ./node -v
v0.12.0

Está lá e está instalado e /usr/local/bin está no meu $PATH .

Em qual caso which apontaria para o binário errado?

Reiniciei o bash e verifiquei se não havia binários do nó dud em /bin ou /usr/bin . Também se certificou de que não era um link simbólico.

$ ls -lah | grep node
-rwxr-xr-x  1 root root  20M Feb 14 14:56 node

E isso definitivamente era um binário.

$ file node
node: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

Idéias?

    
por Dan Prince 14.02.2015 / 16:17

1 resposta

1

Você procura soluções complicadas e sente falta do que é óbvio.

Eu mudei para zsh para ver se o problema estava com o bash. A versão do nó estava correta.

Eu tinha alias node=nodejs em ~/.bash_aliases ...

Obviamente, which não leva isso em consideração. Eu acho que houve algum problema com o pacote apt-get para o Node com o Ubuntu, que criou nodejs binários em vez de node . Obviamente, eu aliasse isso em vez de criar links simbólicos.

Lição aprendida.

    
por 14.02.2015 / 16:26