Confusion du numéro de version de NodeJS


154

J'ai installé Node JS il y a plusieurs mois et j'ai joué un peu. Aujourd'hui, je voulais commencer à en apprendre davantage sur le nœud et avant de coder, j'ai décidé que je voulais m'assurer que j'avais la dernière version.

J'ai vérifié la version et c'était quelque chose comme v0.10.3x. J'ai regardé sur le site Web de NodeJS et il montre la dernière version v4.1.0. Alors j'ai pensé Woahhh! Je ferais mieux de mettre à niveau et je ne pouvais pas croire qu'il soit passé aussi rapidement à une version 4.x en seulement quelques mois.

J'ai passé un certain temps à essayer de comprendre comment désinstaller complètement node et npm parce que je n'arrivais pas à le mettre à niveau.

Enfin, j'ai tout arraché, puis installé sur CentOS 7 en utilisant yum. Je sais que je n'obtiendrai pas la dernière version via yum, mais j'ai pensé que ce serait assez proche.

Après l'installation, je suis à la v0.10.40.

J'ai le sentiment de ne pas comprendre quelque chose sur les numéros de version de NodeJS.

Quelqu'un peut-il m'éclairer? Merci d'avance.


1
Appréciez la confusion, voici un lien vers les informations sur les types de version de nodejs - github.com/nodejs/node#release-types
— arcseldon

3
«J'ai passé un certain temps à essayer de trouver comment désinstaller complètement node et npm parce que je n'arrivais pas à le mettre à niveau.» - veuillez jeter un œil à nvm - github.com/creationix/nvm cela facilite grandement l' installation, la modification et la désinstallation des versions de node et npm.
— arcseldon

Réponses:


209

Oui, si vous n'aviez utilisé que le runtime officiel node.js, il aurait semblé passer de 0.12.x à 4.0.0 d'un seul coup. Ce que vous ne saviez peut-être pas, c'est que les développeurs de nœuds qui en avaient assez de la stagnation du référentiel de nœuds ont fait un fork du projet et l'ont appelé io.js. Sous le nom io.js, le projet a progressé au cours des six derniers mois environ; il a commencé à v1.x et a été itéré tout au long de 2.x et 3.x à cette époque. L'ancien node.js utilisait un système de gestion de versions différent dans lequel les versions impaires étaient instables et les versions paires étaient stables. Io.js est passé à l'utilisation de la sémantique de gestion des versions de semver comme les packages sur npm utilisent déjà.

Après de nombreuses délibérations, Joyent (les responsables originaux de node.js) a finalement cédé et a aidé à former un véritable comité ouvert autour de node dans un effort pour faire avancer le projet de la même manière que io.js le faisait déjà. Il y a quelques mois, ils ont accepté de fusionner io.js dans node.js (ce qui était l'objectif de ceux qui ont créé io.js en premier lieu). Ils ont finalement fini de fusionner les deux projets récemment. Le nom io.js n'existe plus et node.js vit à partir de la v4.0. Il continuera à utiliser la sémantique semver comme io.js l'a fait :)

Aller de l'avant avec node sera BEAUCOUP plus simple. Je suis ravi de voir où va le projet d'ici.


2
Merci! J'étais conscient de ce qui s'était passé avec io.js au moment où ils avaient démarré le fork, mais n'étant pas un développeur de nœuds actif, j'étais confus par le schisme de version lorsque j'essayais de comprendre ce que j'utilisais par rapport à ce qui était disponible.
— nbering

7
Mais pourquoi y a-t-il encore du développement dans la v0.12. * (Je vois la version v0.12.14 du 6 mai 2016). Est-ce pour la compatibilité descendante?
— user276648

5
@ user276648 car 0.12 est une version LTS (Long Term Support) et ils continueront à publier des correctifs importants comme des correctifs de sécurité, etc. Vous ne verrez que le nombre de correctifs augmenter. 0.12.x
— Chev

3
Voici les informations LTS si quelqu'un est intéressé. github.com/nodejs/LTS
— Chev

1
Peut-être que vous pourriez appeler cela un désastre avant mais les versions sont assez régulières maintenant et la nouvelle structure LTS a été agréable pour la tranquillité d'esprit. Tout fonctionne très similaire aux versions d'Ubuntu maintenant (juste un mouvement plus rapide) et j'en suis assez content. Semver est le plus logique pour node.
— Chev

4

En effet, depuis la v4.0, le projet Node.js et le projet io.js sont désormais combinés. Quant au projet io.js, les numéros de version étaient comme v3.x, v2.x et v1.x.

Référence https://nodejs.org/en/blog/release/v4.0.0/


2
Très mauvaise explication. Il suppose que OP connaît la situation io / node et ajoute plutôt que d'éliminer toute confusion pour un débutant.
— a20


2

si vous utilisez npm, vous pouvez mettre à niveau avec

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

une fois fait, essayez node -vde voir ce que vous avez

en savoir plus sur http://davidwalsh.name/upgrade-nodejs


3
Il ne demandait pas comment mettre à niveau, il posait des questions sur la série 0.x de numéros de version VS la série 4.x de numéros de version.
— a20

4
Certainement pas la réponse à la question du PO, mais juste ce que je cherchais!
— ngoue

0

Vous pouvez mettre à jour le nœud ou npm en utilisant la ligne de commande. Vous devez avoir une version de node ou npm installée sur votre machine. Utilisez la commande suivante dans votre terminal.

npm install node -g
npm install npm

Vous pouvez également installer la version spécifique du nœud, comme ceci.

npm install node@8.1.3 
npm install npm@4.1.2

Ici 8.1.3 est un numéro de version. Utilisez l'une des versions que vous souhaitez installer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.