web-dev-qa-db-ja.com

Node.jsの長期サポート(LTS)と安定バージョンの違いは何ですか?

当初の質問:LTS(長期サポート)を使用したNode.js 4.xブランチと(安定としてリストされている)5.xブランチの違いは何ですか?

しかし、これは6.xと7.xの違い、そして将来的には8.xと9.xの違いを理解することにも等しく関連します。

一般的に、私は常に機能とパフォーマンスの最新バージョンに傾いています(現在、私は多くのES6/ES7をしています)。 「安定した」ブランチの生産準備についての情報はありますか?

63
AndrewMcLagan

違いを理解するには、Nodeの長期サポート(LTS)バージョンが存在する理由を理解する必要があります。

Node LTSは、主に、頻繁な更新、広範な調達手順、長いテストおよび品質要件に対する抵抗がある企業での使用を目的としています。

Node LTSワーキンググループのメンバーであるRod Vaggから:

NodeのLTS計画を確立するポイントは、サポートライフサイクルが明確に定義された予測可能なスケジュールで新しい新しいバージョンを提供することにより、既存の安定リリースサイクルの上に構築することです。これは、「早期リリース、頻繁にリリースする」というオープンソースの伝統と矛盾しているように思えるかもしれませんが、エンタープライズアプリケーションの開発および運用チームにとって不可欠な要件です。また、Node.jsの専門的なサポートを提供する企業にも影響します。

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

コメントの1つで言及されている公式Node投稿も、これを説明する上で素晴らしい仕事をしています。

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

奇数バージョン番号のリリース(v5、v7)は、次のLTSリリースの「ベータ版」であると誤解されることがあります。これは他のプロジェクトで使用される規則ですが、Nodeでは使用されず、誤解を招くおそれがあります。実際、次のLTSリリースは現在のバージョンの特定のポイントリリースから選択され、通常は偶数バージョンリリース(v6、v8)になります。最新バージョンがベータ版であるということではありません。LTSリリースが一部の組織の特定のニーズを満たしているということです。

Firefoxの延長サポートリリース( https://www.mozilla.org/en-US/firefox/organizations/faq/ )またはUbuntuのLTSリリース( https ://wiki.ubuntu.com/LTS )。 Firefoxの最新バージョンがベータ版であり、ほとんどのユーザーが古いバージョンのERSに固執すべきだと提案する人はいないと思います。

一般に、最新の安定した将来のNodeリリースに遅れずについていくことができるなら、そうするべきです。これらは安定したものであり、本番用のリリースリリースであり、優れたコミュニティサポートがあります。不安定で実験的な機能は、ビルドフラグとランタイムフラグの背後に保持され、日々の運用に影響を与えることはありません。

一般的に、私は常に機能とパフォーマンスの最新バージョンに傾いています(現在、ES6/ES7の多くを行っているように)

これは、安定したバージョン以上があなたのニーズによく合うことを私に示唆するでしょう。これにより、基礎となるJavaScriptエンジン(V8またはChakra)が提供する最新かつ最高の言語機能にアクセスできます。

注意:v4(およびそれ以前)とv5の大きな違いは、v4にはnpm v2が付属していますが、v5にはnpm v3が付属しています。 npmのv3には、peerDependanciesを処理する方法でプロジェクトに重大な変更が生じる可能性があります。 npm v3が依存関係をできるだけフラットにインストールし、重複を避ける方法はプロジェクトに影響を与える可能性がありますが、Windowsユーザーにとって大きな恩恵であるため、意思決定にも影響する可能性があります。

70
Binarytales

4.xは、実稼働リリースと同様に、現在サポートされているバージョンです。 5.0バージョンは安定していますが、今後のバージョンであり、ベータ版またはリリース候補であるlikeとして扱う必要があります。そのため、現在、Amazon Elastic Beanstalkなどのオプションとして5.0は表示されません。

安定したリリースラインがLTSになると、そのリリースに新しい機能や重大な変更は追加されません。

ソース

7
Victoria French

リリースタイプ

  • Current:アクティブな開発中。現在のリリースのコードは、メジャーバージョン番号のブランチにあります(たとえば、 v10.x )。 Node.jsは6か月ごとに新しいメジャーバージョンをリリースするため、変更を壊すことができます。これは毎年4月と10月に起こります。毎年10月にリリースされるリリースのサポート期間は8か月です。毎年4月にリリースされるリリースは、毎年10月にLTS(下記参照)に変換されます。

  • LTS:安定性とセキュリティに重点を置いた、長期サポートを受けるリリース。偶数番号のメジャーバージョンはすべてLTSリリースになります。 LTSリリースは、18か月のActive LTSサポートと、さらに12か月のMaintenanceを受け取ります。 LTSリリースラインには、v4 Argonで始まるコード名がアルファベット順に並んでいます。特別な状況を除き、重大な変更や機能の追加はありません。

ソース

0
Ümit K.