J'ai réussi à mettre à jour / installer la dernière version de node js en utilisant ces commandes (la curl
manière officielle ne fonctionne pas pour moi):
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
Cependant, la version de mon noeud et de nodejs devient différente:
$ node --version
v5.0.0
$ nodejs --version
v0.10.25
Il semble que le nouveau nœud soit installé /usr/local/bin/node
, j'ai donc 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 également ce lien:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
J'utiliserai certains frameworks qui dépendent node
, comme Ionic
. Quelle version de nœud utilisera-t-elle?
Que dois-je faire pour résoudre ce problème?
Merci beaucoup pour votre aide
nodejs
etnode
le binaire installé par n. Et si n est incapable de le faire, quelle est l'approche de pointe? Dans un environnement de travail, il est très sujet aux erreurs, si nodejs et node adressent des versions de nodejs différentes.Réponses:
Étapes qui ont résolu le même problème pour moi:
Explication
Vous avez installé deux versions de nodejs sur votre ordinateur, vous devez donc en supprimer une. Ta situation:
Vous pouvez supprimer le
nodejs
package via laapt-get remove
commande. 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 "vers"
Plus d'informations sur la création de liens: fonctionnement des liens symboliques
la source
L'erreur:
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
est normalement causé lorsque vous avez vraiment deux versions des Nodejs, une avec l'alias de la
node
et l'autre avec l'nodejs
alias, comme nous pouvons le voir sur le résultat des commandesnode --version
etnodejs --version
:vous ne pouvez donc pas créer de lien symbolique pour un fichier qui existe déjà.
Pour résoudre ce problème, vous devez supprimer complètement les deux packages à l'aide de:
et réinstallez uniquement le
nodejs
package à l'aide de la commande:et créer un lien symbolique en utilisant:
ou installez le
nodejs-legacy
qui résoudra ce problème avec la commande:la source
Pour moi, la
node
commande est le NodeJS installé parnvm
et lanodejs
commande est le NodeJS installé à l'aideapt-get
la source