Verwirrung um die NodeJS-Versionsnummer


153

Ich habe Node JS vor einigen Monaten installiert und ein bisschen herumgespielt. Heute wollte ich mehr über Node lernen und vor dem Codieren wollte ich sicherstellen, dass ich die neueste Version habe.

Ich habe die Version überprüft und es war so etwas wie v0.10.3x. Ich habe auf der NodeJS-Website nachgesehen und sie zeigt die neueste Version als v4.1.0. Also dachte ich Woahhh! Ich aktualisiere besser und ich konnte nicht glauben, dass es in nur wenigen Monaten so schnell auf eine 4.x-Version überging.

Ich habe einige Zeit damit verbracht, herauszufinden, wie Node und npm vollständig deinstalliert werden können, da ich es anscheinend nicht aktualisieren konnte.

Schließlich habe ich alles herausgerissen und dann mit yum auf CentOS 7 installiert. Ich weiß, dass ich die neueste Version nicht über yum bekommen werde, aber ich dachte, es wäre nah genug.

Nach der Installation bin ich bei v0.10.40.

Ich habe das Gefühl, ich verstehe einfach nichts über NodeJS-Versionsnummern.

Kann jemand etwas Licht für mich bringen? Danke im Voraus.


1
Schätzen Sie die Verwirrung, hier ist ein Link zu den Informationen zu den Release-Typen von nodejs - github.com/nodejs/node#release-types
arcseldon

3
"Ich habe einige Zeit damit verbracht, herauszufinden, wie Node und npm vollständig deinstalliert werden können, weil ich es anscheinend nicht aktualisieren konnte." - Bitte werfen Sie einen Blick auf nvm - github.com/creationix/nvm. Dies erleichtert das Installieren, Ändern und Deinstallieren von Versionen von Node und npm erheblich.
Arcseldon

Antworten:


209

Ja, wenn Sie nur die offizielle Laufzeit von node.js verwendet hätten, wäre sie auf einen Schlag von 0.12.x auf 4.0.0 gesprungen. Was Sie vielleicht nicht gewusst haben, war, dass Knotenentwickler, die es satt hatten, wie stark das Knoten-Repository stagnierte, eine Abzweigung des Projekts machten und es io.js nannten. Unter dem Namen io.js marschierte das Projekt in den letzten sechs Monaten voran. Es begann mit v1.x und durchlief in dieser Zeit den gesamten Weg durch 2.x und 3.x. Alte node.js verwendeten ein anderes Versionierungssystem, bei dem die ungeraden Versionen instabil und die geraden Versionen stabil waren. Io.js hat auf Semver- Versionierungssemantik umgestellt, wie sie Pakete auf npm bereits verwenden.

Nach vielen Überlegungen gab Joyent (ursprüngliche Betreuer von node.js) schließlich nach und half dabei, ein ordentliches offenes Komitee um node zu bilden, um das Projekt auf die gleiche Weise voranzutreiben, wie es io.js bereits getan hatte. Vor einigen Monaten haben sie vereinbart, io.js wieder in node.js zusammenzuführen (was das Ziel derer war, die io.js überhaupt erst erstellt haben). Sie haben die beiden Projekte kürzlich endgültig zusammengeführt. Der Name io.js ist nicht mehr und node.js lebt ab Version 4.0 weiter. Es wird weiterhin Semversemantik wie io.js verwenden :)

Mit dem Knoten voranzukommen, wird VIEL einfacher sein. Ich bin gespannt, wohin das Projekt von hier aus geht.


2
Vielen Dank! Ich war mir bewusst, was mit io.js passiert ist, als sie den Fork starteten, aber kein aktiver Knotenentwickler war. Ich war durch das Versionsschisma verwirrt, als ich versuchte herauszufinden, was ich verwendete und was verfügbar war.
nbering

7
Aber warum gibt es in Version 0.12 noch eine Entwicklung? * (Ich sehe Version 0.12.14 am 6. Mai 2016). Ist dies aus Gründen der Abwärtskompatibilität?
user276648

5
@ user276648, da 0.12 eine LTS-Version (Long Term Support) ist und weiterhin wichtige Patches wie Sicherheitskorrekturen usw. veröffentlicht werden. Die Patch-Nummer wird immer nur erhöht. 0.12.x
Chev

3
Hier sind die LTS-Informationen, wenn jemand interessiert ist. github.com/nodejs/LTS
Chev

1
Vielleicht könnte man es vorher als Katastrophe bezeichnen, aber die Veröffentlichungen sind jetzt ziemlich regelmäßig und die neue LTS-Struktur war für die Sicherheit angenehm. Alles funktioniert jetzt sehr ähnlich wie bei Ubuntu (nur schneller) und ich bin ziemlich zufrieden damit. Semver ist für Knoten am sinnvollsten.
Chev

4

Dies liegt daran, dass seit Version 4.0 das Node.js-Projekt und das io.js-Projekt jetzt kombiniert werden. Für das io.js-Projekt waren die Versionsnummern wie v3.x, v2.x und v1.x.

Referenz https://nodejs.org/en/blog/release/v4.0.0/


2
Sehr schlechte Erklärung. Es wird davon ausgegangen, dass OP die Io / Node-Situation kennt und die Verwirrung eines Neulings eher verstärkt als beseitigt.
a20


2

Wenn Sie npm verwenden, können Sie mit aktualisieren

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

Sobald Sie fertig sind, versuchen Sie node -vzu sehen, was Sie haben

Weitere Informationen finden Sie unter http://davidwalsh.name/upgrade-nodejs


3
Er fragte nicht nach einem Upgrade, sondern nach den Versionsnummern der 0.x-Serie im Vergleich zur Versionsnummernserie 4.x.
a20

4
Auf keinen Fall die Antwort auf die Frage des OP, sondern genau das, wonach ich gesucht habe!
Ngoue

0

Sie können Node oder Npm über die Befehlszeile aktualisieren. Auf Ihrem Computer muss eine Version von node oder npm installiert sein. Verwenden Sie den folgenden Befehl in Ihrem Terminal.

npm install node -g
npm install npm

Sie können auch die spezifische Version des Knotens wie folgt installieren.

npm install node@8.1.3 
npm install npm@4.1.2

Hier ist 8.1.3 eine Versionsnummer. Verwenden Sie eine der Versionen, die Sie installieren möchten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.