1. ホーム
  2. javascript

[解決済み] Node.jsのLTS(Long Term Support)版とStable版の違いは何ですか?

2023-04-27 13:12:37

質問

もともとの質問 Node.js 4.x の LTS (Long Term Support) ブランチと 5.x ブランチ (Stable と記載) の違いは何ですか?

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

一般的に、私は常に機能とパフォーマンスのために最新バージョンに傾きます (現在、私は多くの ES6 / ES7 を行っているため)。安定版ブランチがどの程度生産可能であるかについての情報はありますか?

どのように解決するのですか?

この違いを理解するためには、なぜNodeのLong Term Support (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

コメントのひとつにあるNodeの公式投稿も、これを説明するのに良い仕事しています。

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

時々、奇妙なバージョン番号のリリース (v5, v7) は次の LTS リリースの "beta" であると誤解されることがあります。これは、他のプロジェクトでは使用されていますが、Node では使用されておらず、やや誤解を招きやすい慣習です。実際、次のLTSリリースは現在のバージョンの特定のポイントリリースから選ばれ、これは通常偶数バージョンのリリース(v6, v8)になります。最新バージョンがベータ版というわけではなく、LTS リリースはある組織が持つ特定のニーズを満たすものなのです。

参考までに、Firefox の Extended Support Releases を見てみましょう ( 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ユーザーにとっては大きな恩恵であり、このことも意思決定に影響を与えるかもしれません。