node & nodejs tem versão diferente

7

Eu atualizo / instalo com sucesso a versão mais recente do node js usando esses comandos (a forma oficial curl não funciona para mim):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

No entanto, a versão do meu nó e nodejs se torna diferente:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

Parece que o novo nó está instalado em /usr/local/bin/node , então eu tentei:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

Mas isso retorna:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

Eu também uso este link:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

Vou usar algumas estruturas que dependem de node , como Ionic . Qual versão de nó será usada?

O que devo fazer para resolver isso?

Muito obrigado pela sua ajuda

    
por Blaze Tama 07.11.2015 / 17:29

2 respostas

5

Etapas que resolveram o mesmo problema para mim:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

Explicação

Você instalou duas versões do nodejs no seu computador, então você precisa remover uma delas. Sua situação:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

Você pode remover o comando nodejs package via apt-get remove . Isso também removerá o arquivo /usr/bin/nodejs e você não receberá sua mensagem de erro novamente.

Agora você pode criar um link simbólico chamado "/ usr / bin / nodejs", que aponta para a fonte "/ usr / local / bin / node". No seu exemplo, você tem a ordem errada de caminhos "de" e "para"

sudo ln -s source_file myfile

Mais informações sobre criação de links: Como funcionam os links simbólicos

    
por areim 18.01.2016 / 17:07
3

O erro:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

é normalmente causado quando você realmente tem duas versões do Nodejs, um com o alias do node e o outro com o nodejs alias, como podemos ver no resultado dos comandos node --version e nodejs --version :

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

para que você não possa criar um link simbólico para um arquivo que já existe.

Para resolver isso, você precisa remover completamente os dois pacotes usando:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

e reinstale somente o pacote nodejs usando o comando:

sudo apt-get install nodejs

e crie um link simbólico usando:

ln -s /usr/bin/nodejs /usr/bin/node

ou instale o nodejs-legacy que resolverá este problema com o comando:

sudo apt-get install nodejs-legacy 
    
por coderade 09.12.2015 / 11:50

Tags