Je réussis à mettre à jour / installer la dernière version du noeud js en utilisant ces commandes (la méthode curl
officielle ne fonctionne pas pour moi):
sudo npm cache clean -f sudo npm install -gn sudo n stable sudo ln -sf /usr/local/n/versions/node//bin/node /usr/bin/node
Cependant, la version de mon noeud et mes noeuds deviennent différents:
$ node --version v5.0.0 $ nodejs --version v0.10.25
Il semble que le nouveau noeud soit installé dans /usr/local/bin/node
, alors j’ai essayé:
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Mais ça revient:
ln: failed to create symbolic link '/usr/local/bin/node': File exists
J’utilise aussi ce lien:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node ln: failed to create symbolic link '/usr/bin/node': File exists
Je vais utiliser certains frameworks qui dépendent de node
, comme Ionic
. Quelle version de noeud utilisera-t-il?
Que dois-je faire pour résoudre ce problème?
Merci beaucoup pour votre aide
Les étapes qui ont résolu le même problème pour moi:
sudo apt-get remove nodejs sudo ln -s /usr/bin/node /usr/bin/nodejs
Explication
Vous avez installé deux versions de nodejs sur votre ordinateur. Vous devez donc en supprimer une. Ta situation:
node v5.0.0 - you will keep this one nodejs v0.10.25 - this you can remove
Vous pouvez supprimer le paquet nodejs
via la commande apt-get remove
. Cela supprimera également le fichier /usr/bin/nodejs
et vous n’obtiendrez plus votre message d’erreur.
Vous pouvez maintenant créer un lien symbolique appelé “/ usr / bin / nodejs”, qui pointe sur la source “/ usr / local / bin / node”. Dans votre exemple, vous avez un mauvais ordre de chemins “de” et “à”
sudo ln -s source_file myfile
Plus d’informations sur la création de liens: Fonctionnement des liens symboliques
L’erreur:
ln: failed to create symbolic link '/usr/bin/node': File exists
est normalement causé lorsque vous avez réellement deux versions de Nodejs, une avec l’alias du node
et l’autre avec l’alias nodejs
, comme on peut le voir sur le résultat des commandes node --version
et nodejs --version
$ node --version v5.0.0 $ nodejs --version v0.10.25
vous ne pouvez donc pas créer de lien symbolique pour un fichier déjà existant.
Pour résoudre ce problème, vous devez supprimer complètement les deux paquets en utilisant:
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
et réinstallez uniquement le package nodejs
à l’aide de la commande suivante:
sudo apt-get install nodejs
et créez un lien symbolique en utilisant:
ln -s /usr/bin/nodejs /usr/bin/node
ou installez le nodejs-legacy
qui résoudra ce problème avec la commande:
sudo apt-get install nodejs-legacy