Was sind die Unterschiede zwischen Long Term Support (LTS) und Stable-Versionen von Node.js?

76

Ursprünglich gefragt: Was ist der Unterschied zwischen dem Node.js 4.x-Zweig mit LTS (Long Term Support) und dem 5.x-Zweig (als stabil aufgeführt)?

Dies ist jedoch gleichermaßen relevant für das Verständnis des Unterschieds zwischen 6.x und 7.x und in Zukunft zwischen 8.x und 9.x.

Im Allgemeinen neige ich immer zu der neuesten Version für Funktionen und Leistung (da ich jetzt viel ES6 / ES7 mache). Gibt es Informationen darüber, wie produktionsbereit die "stabilen" Filialen sind?

Andrew McLagan
quelle
2
Gibt es noch etwas, das Sie wissen müssen, das in diesem Blog-Beitrag nicht behandelt wird? nodejs.org/en/blog/community/node-v5 . Wenn ja, was ist das?
Felix Kling
2
Dies ist ein Community-Forum, das ein Beitrag der Entwickler von Node ist. Es gibt spezifische Informationen aus Perspektiven außerhalb des Entwicklungsteams, die relevant sein können.
Andrew McLagan
FWIW, dies ist kein Forum, sondern eine Q & A-Site. Dieses Format ist nicht für Diskussionen geeignet. Was interessiert Sie anscheinend mehr?
Felix Kling
4
Nein, keine Diskussion, siehe die akzeptierte Antwort. wenn Sie immer verlangen, dass Personen extern durch Dokumentation oder andere Informationen wechseln. Eher eine schnelle, prägnante Antwort. Diese Seite ist 100% sinnlos.
Andrew McLagan
2
Die Antworten auf diese Frage, die besagt, dass v5 eine Beta ist, sind sehr irreführend. v5 ist die aktuelle stabile Version und für den Produktionseinsatz geeignet. V4 ist eine Long Term Support-Version und zielt darauf ab, Node.js zu einer praktikablen Wahl für den Einsatz in Unternehmen zu machen.
Binarytales

Antworten:

84

Um den Unterschied zu verstehen, müssen Sie verstehen, warum eine LTS-Version (Long Term Support) von Node vorhanden ist.

Node LTS richtet sich in erster Linie an Unternehmen, bei denen häufiger Aktualisierungen, umfangreiche Beschaffungsverfahren sowie langwierige Test- und Qualitätsanforderungen möglicherweise widerstandsfähiger sind.

Von Rod Vagg, Mitglied der Node LTS-Arbeitsgruppe:

Der Zweck der Erstellung eines LTS-Plans für Node besteht darin, auf einem vorhandenen stabilen Release-Zyklus aufzubauen, indem neue neue Versionen nach einem vorhersehbaren Zeitplan mit einem klar definierten erweiterten Support-Lebenszyklus bereitgestellt werden. Dies scheint zwar im Widerspruch zur Open-Source-Tradition der „vorzeitigen, häufigen Veröffentlichung“ zu stehen, ist jedoch eine wesentliche Voraussetzung für die Entwicklung und den Betrieb von Unternehmensanwendungen. Dies betrifft auch Unternehmen, die Node.js professionell unterstützen.

https://medium.com/@nodesource/essential-steps-long-term-support-for-node-js-8ecf7514dbd#.za353bn08

Der offizielle Knotenbeitrag, der in einem der Kommentare erwähnt wird, erklärt dies ebenfalls sehr gut:

https://nodejs.org/en/blog/community/node-v5/

Es wird manchmal missverstanden, dass ungerade Versionsnummernversionen (v5, v7) eine "Beta" der nächsten LTS-Version sind. Dies ist eine Konvention, die in anderen Projekten verwendet wird, jedoch nicht in Node, und ist etwas irreführend. Tatsächlich wird die nächste LTS-Version aus einer bestimmten Punktversion der aktuellen Version ausgewählt, und dies ist normalerweise eine Version mit gleichmäßiger Version (Version 6, Version 8). Es ist nicht so, dass die neuesten Versionen Betas sind - es ist so, dass die LTS-Versionen einen bestimmten Bedarf erfüllen, den einige Organisationen haben.

Einen Referenzpunkt finden Sie in den Extended Support Releases von Firefox ( https://www.mozilla.org/en-US/firefox/organizations/faq/ ) oder in den LTS-Releases von Ubuntu ( https://wiki.ubuntu.com/LTS ). . Ich glaube nicht, dass irgendjemand vorschlagen würde, dass die neueste Version von Firefox eine Beta ist und dass die meisten Benutzer bei den älteren ERS-Versionen bleiben sollten.

Wenn Sie mit den neuesten stabilen und zukünftigen Node-Versionen Schritt halten können, sollten Sie dies im Allgemeinen tun. Dies sind stabile und produktionsreife Releases mit hervorragender Community-Unterstützung. Instabile und experimentelle Funktionen bleiben hinter Build- und Laufzeitflags zurück und sollten Ihren täglichen Betrieb nicht beeinträchtigen.

Im Allgemeinen neige ich immer zu der neuesten Version für Funktionen und Leistung (wie ich jetzt ES6 / ES7 zuteile)

Dies würde mir nahe legen, dass stabile Versionen und darüber hinaus Ihren Anforderungen gut entsprechen. Auf diese Weise erhalten Sie Zugriff auf die neuesten und besten Sprachfunktionen der zugrunde liegenden JavaScript-Engine (V8 oder Chakra).

Bemerkenswert: Ein wesentlicher Unterschied zwischen v4 (und früher) und v5 besteht darin, dass v4 mit npm v2 ausgeliefert wird, während v5 mit npm v3 ausgeliefert wird. In Version 3 von npm gibt es einige potenziell wichtige Änderungen für Ihr Projekt im Umgang mit Peer-Abhängigkeiten. Die Art und Weise, wie npm v3 jetzt versucht, Abhängigkeiten so flach wie möglich zu installieren und Duplikate zu vermeiden, kann sich auf Ihre Projekte auswirken, war jedoch ein großer Segen für Windows-Benutzer, sodass dies auch Ihre Entscheidungsfindung beeinflussen kann.

Binärgeschichten
quelle
8

4.x ist die Version, die derzeit unterstützt wird, ähnlich einer Produktionsversion. Die 5.0-Version ist stabil, aber es handelt sich um die kommende Version im Fluss und sollte so behandelt werden, als wäre es ein Beta- oder Release-Kandidat. Als solches sehen Sie 5.0 derzeit nicht als Option in Dingen wie Amazon Elastic Beanstalk.

Sobald aus einer stabilen Release-Linie LTS wird, werden dieser Version keine neuen Funktionen oder Änderungen hinzugefügt.

Quelle

Victoria Französisch
quelle
4

Release-Typen

  • Aktuell : In aktiver Entwicklung. Der Code für die aktuelle Version befindet sich in der Verzweigung für die Hauptversionsnummer (z. B. v10.x ). Node.js veröffentlicht alle 6 Monate eine neue Hauptversion, die Änderungen ermöglicht. Dies geschieht jedes Jahr im April und Oktober. Veröffentlichungen, die jeden Oktober erscheinen, haben eine Lebensdauer von 8 Monaten. Veröffentlichungen, die jeden April erscheinen, werden jedes Jahr im Oktober in LTS (siehe unten) umgewandelt.

  • LTS : Releases, die langfristigen Support erhalten, mit Schwerpunkt auf Stabilität und Sicherheit. Jede geradzahlige Hauptversion wird zu einer LTS-Version. LTS-Versionen erhalten 18 Monate Active LTS- Support und weitere 12 Monate Wartung . LTS-Release-Zeilen haben alphabetisch geordnete Codenamen, beginnend mit v4 Argon. Es gibt keine wesentlichen Änderungen oder Funktionserweiterungen, außer unter bestimmten Umständen.

Quelle

Ümit K.
quelle