ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejsのltsとcurrentの違いは何ですか?

Nodejsのltsとcurrentの違いは何ですか?

青灯夜游
青灯夜游オリジナル
2021-11-05 16:33:123686ブラウズ

違い: 現在は、現在リリースされている最新のノード バージョンを指し、最新の機能が含まれていますが、不安定であり、随時更新、最適化、または修正されます。一方、LTS は長期サポートを指します。ノードのバージョンは安定版であり、ノードに含まれる機能は安定しています。

Nodejsのltsとcurrentの違いは何ですか?

#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。


nodejs 公式 Web サイトにアクセスして https://nodejs.org をダウンロードします。LTS と Current の 2 つのバージョンがあります。どのような違いがありますか?どれを選べばいいでしょうか?もちろん、違いがわかれば、どのバージョンを選択すればよいかがわかります。

LTS と Current の違いの概要: 実際、バージョン番号から、一方が新しく、もう一方が古いことがわかります。現在は最新バージョンであり、最新の機能がすべて含まれています。あくまでお試し用ですので、皆さんが使いこなして機能が安定したらLTS版にリリースする予定です。したがって、LTS は安定版です。

Nodejsのltsとcurrentの違いは何ですか?#以下は、nodejs のバージョン計画です。

#Node.js LTS 計画

##Node.js コア Node.js と io.js の統合後、安定した秩序あるリリースを確保し、開発者が合理的にアップグレードを手配できるようにするために、リリース サイクルの計画に LTS (長期サポート) が使用され始めました。最初の LTS バージョンは v4 で、2015 年 10 月にリリースされました。この計画では、Node.js のバージョンは、特定の時点で安定した master ブランチのスナップショットに相当し、時間が経過すると、master ブランチの安定した部分が統合され、新しいバージョンが提供されます。したがって、Node.js のリリースは、時間の経過に基づいて、互換性や新機能の数ではなく、厳密な互換性を確保することを前提としてバージョンがジャンプされるため、Node.js のバージョンが変更される理由も説明されています。 .js は非常に速くジャンプしているようです (「ああ、たくさんの大きな動きが保存できたので、新しいバージョンをリリースできます!」ではなく、「ああ、4 月が来たので、新しいバージョンをリリースする時期が来ました。大きな動きを見てみましょう)」保存して、追加できるほど安定したものがあるかどうかを確認します。可能性はありますが、これらのトリックはそれほど大規模なものではありません...」)。現在のエバーグリーン ブラウザ/主流の JavaScript エンジン/ECMAScript 標準/C 標準も同様の原則を採用しており、タイム スパンをベンチマークとして採用し、リリースのためにバックボーンから安定した機能を遮断していることは言及する価値があります。 各 LTS にはコード名が付いています。周期表から元素名を取得し、アルファベット順に並べ替えて、適切なものを選択します。 v4のコード名はArgon(アルゴン)、v6のコード名はBoron(ボロン)です。

Node.js のバージョン命名規則はセマンティック バージョニングに従っています。バージョン番号は 3 つの部分に分かれています。最初の数字 (semver-major) は互換性のない変更を示すために増加します。2 番目の数字は数字の増加 ( semver-minor) は、互換性を維持する新機能があることを示します。3 番目の数字 (semver-patch) の増加は、バグ修正や改善など、互換性と機能を維持しながら変更が加えられたことを示します。この命名規則には利点と欠点があり、ここでは説明しませんが、その矛盾の一部により、Node.js の命名にいくつかの例外が生じます。たとえば、セキュリティ更新により互換性がなくなった場合でも、更新できるようにするためにすべてのメジャー バージョンに対して、それは依然として semver. -minor です。

Node.js アプリケーション開発者はどのように選択しますか?

安定性を追求する Node.js アプリケーション開発者は、バージョンがアクティブになる LTS の毎年 10 月、つまり 12 年ごとのメジャー バージョンになったときに、オンラインでフォローアップしてアップグレードするだけで済みます。は月に 1 回アップグレードされ、各アップグレード バージョンの有効期間は 18 ~ 12 か月です。マイナーおよびパッチをフォローアップするときに、互換性の問題についてあまり心配する必要はありません。現在の推奨事項は、アクティブな LTS がリリースされてから 12 か月以内にオンライン アップグレードを完了するのが最善であるということです (次のアクティブな LTS は 12 か月後にリリースされるため)。予定より遅れている場合は、この LTS のアクティブ期間が終了する 18 か月前までは妥協できます。それでも追いつかない場合は、少なくとも 30 か月以内にこのバージョンの有効期間が終了する前にアップグレードする必要があります。そうしないと、セキュリティ更新プログラムが提供されなくなります。 直接アップグレードによって発生する互換性の問題が心配な場合は、毎年 4 月に偶数番号のバージョンがリリースされるときに、事前にオフラインでテストしてアップグレードし、問題をコミュニティにフィードバックすることができます (もちろん、時間がありません) この手順については心配する必要はありません)、フォローアップを続けて、10 月にオンライン バージョンにアップグレードしてください。このように、オンラインメジャーもオフラインメジャーも12ヶ月に1度昇格しますが、その時点が異なります。オフラインでフォローアップする必要がある互換性の問題はさらにありますが、互換性のニーズにフィードバックを通じてコミュニティが対応してもらうこともできます。

新しい機能を試してみたい場合、または運用環境では使用されない実験的なプロジェクトの場合は、毎年 10 月にリリースされる奇数番号のメジャー バージョンを試すことができます。各奇数バージョンは 8 か月しか維持されず、LTS のような互換性保証はありませんが、Node.js 開発者はこのバージョンを次の LTS に備えるために使用するため、より大胆な試みが行われることになります。 v8 アップデートの頻度が高くなります (ECMAScript の新機能の実装とパフォーマンスの最適化が増加することを意味します)。

したがって、まだ v4.x をオンラインで使用している開発者は、すでに v6.x へのアップグレードの準備をすることができます。オンライン アプリケーションが、LTS プランの開始前にリリースされたバージョン (v0.12.x など) をまだ使用している場合は、v0.12.x はサポートされないため、できるだけ早く v4.x 以降にアップグレードすることをお勧めします。以前のバージョンはもちろん、セキュリティ アップデートもありません。主な理由は、OpenSSL の脆弱性が修正されず、これらのアプリケーションがさまざまなセキュリティ リスクにさらされることです。 v4 にアップグレードしたら。

これは Node.js のソース コードとどのように対応しますか?

まず、Node.js の Github リポジトリには master ブランチがあり、ほとんどのコミットは PR を通じてこのブランチに送信されます。これらのコミットが互換性を変更するか、新しい機能を導入するかに応じて、semver-major または semver-minor というラベルが付けられます。

LTS を毎年 4 月より前に準備する必要がある場合、Node.js は master ブランチから新しいブランチを取得します。これが v6 の場合、このブランチは v6.x-staging と呼ばれます。この LTS に関連するその後の変更、またはバグ修正など、この LTS に入ることが意図された変更は、依然として PR をマスターに送信しますが、タグ lts-watch-v6.x を追加する必要があります。これらの変更は、マスターにマージされた後、リリース責任者によって取得され、v6.x ステージングにマージされます。 4 月のある日、v6 の最初のバージョンがリリースされる準備が整うと、リリース責任者は v6.x ブランチを作成し、v6.x ステージングからの変更をマージします。 4 月から 10 月まで、v6 に対するすべての変更は、マイナーであろうとパッチであろうと、最初にマスターに送信され、その後選択されて v6.x ステージングにマージされ、バージョンがリリースされると v6.x に入力されます。このようにして、マスターは常に最新の変更を保持します。他のバージョン関連のブランチは、マスターからのリリースに適したコミットを混合および選択する小宇宙です。v6.x ステージングは​​ v6.x LTS 関連の変更を保持し、v6.x は各 v6 リリースのバージョンを保持します。ブランチの処理責任者を除いて、他の開発者はこれらのバージョン関連のブランチに触れることはありません。

[推奨学習:「nodejs チュートリアル 」]

以上がNodejsのltsとcurrentの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。