開発でNode.jsを使っていると、「Node.jsのバージョンどうする?今回アップデートする?」といった話題がよく出てきますよね。
特に運用中のプロジェクトで古いバージョンのNode.jsを使っていると、脆弱性への対応やライブラリの互換性問題が発生する可能性もあります。そのため、Node.jsのサポート期限(EOL:End of Life)を把握しておくことが重要です。
この記事では、Node.jsの「サポート期限(EOL)」や「LTS(Long Term Support)」について、わかりやすく解説します。
Node.jsのサポート期限(EOL)
Node.jsは定期的に新しいバージョンがリリースされ、それぞれのバージョンに「サポート期限(EOL)」が設けられています。以下に示している表は2025年3月時点の主なバージョンとそのスケジュールです。
バージョン | 初回リリース日 | Active LTS 開始 | Maintenance LTS 開始 | EOL (サポート終了) |
---|---|---|---|---|
18.x (LTS) | 2022-04-19 | 2022-10-25 | 2023-10-18 | 2025-04-30 |
19.x | 2022-10-18 | - | 2023-04-01 | 2023-06-01 |
20.x (LTS) | 2023-04-18 | 2023-10-24 | 2024-10-22 | 2026-04-30 |
21.x | 2023-10-17 | - | 2024-04-01 | 2024-06-01 |
22.x (LTS) | 2024-04-24 | 2024-10-29 | 2025-10-21 | 2027-04-30 |
23.x | 2024-10-15 | - | 2025-04-01 | 2025-06-01 |
24.x (LTS) | 2025-04-22 | 2025-10-28 | 2026-10-20 | 2028-04-30 |
最新情報はNode.js公式のリリーススケジュールをご確認ください。
Node.jsのLTSについて
Node.jsは「LTS(Long Term Support)」モデルを採用しており、偶数バージョン(18, 20, 22など)がLTSになります。LTSのバージョンは30ヶ月のサポートがあります。
Node.jsの新しいメジャーバージョンは、毎年4月(偶数バージョン)と10月(奇数バージョン)にリリースされます。リリースされた直後は「Current」ステータスとして提供されます。「Current」ステータスの期間ではライブラリの開発者にサポートを追加する時間を与えています。
リリースから約半年後(約6か月後)に奇数のバージョン(19, 21, 23など)はサポートが終了します。
一方、偶数のバージョン(18, 20, 22など)は「Current」ステータスから「LTS」ステータスに昇格します。「LTS」ステータスのバージョンは「一定期間にわたり安定したバージョンを長期間サポートされるバージョン」であり、バグ修正やセキュリティ修正などが行われます。
Node.jsの奇数バージョン(例:19.x、21.x、23.x)はLTSではありませんが、リリースからEOLまでの短期間(約2か月程度)は「Maintenance」として最低限のサポート(セキュリティ修正など)が行われることがあります。Node.jsのリリーススケジュールを見ると、奇数バージョンにも「Maintenance」という列があり、日付が記載されていますが、これはLTSバージョンにおける正式な「Maintenance LTS」とは異なります。あくまでEOL前の短期的なサポート期間と理解してください。
「Active LTS」と「Maintenance LTS」の違い
Node.jsの「LTS」ステータスには2つのフェーズが存在します。
フェーズ名 | 期間 | 特徴 |
---|---|---|
Active LTS | 約12ヶ月 | バグ修正、セキュリティパッチ、パフォーマンス改善が行われる。 |
Maintenance LTS | 約18ヶ月 | セキュリティ修正のみが行われる。新機能やバグ修正は原則なし。 |
「Maintenance LTS」が終了すると「EOL(End of Life)」となり、Node.jsからの公式サポートが完全に終了します。
Current → LTS → EOLの流れ
- 偶数バージョン(例:Node.js 20)がリリースされる(毎年4月)
- 最初の6か月間は「Current」として提供される(ライブラリの対応期間、検証・試験用途)
- 「Current」から約6か月後に「Active LTS」に昇格(本番運用に最適)
- 「Active LTS」から約12ヶ月後に「Maintenance LTS」へ移行
- 「Maintenance LTS」から約18ヶ月後に「EOL(End of Life)」となる
補足
- LTS以外のバージョンは使っても大丈夫かどうか
- 個人開発や新機能の検証には「Current」バージョンを使っても良いですが、本番環境では必ずLTS版(偶数のバージョン)を使用しましょう。
- どのLTSバージョンを選べばいいのか
- 基本的には一番新しいLTS(Active LTS)を選ぶのがベスト。例えば、執筆時点(2025年3月時点)では Node.js 20.x が該当します。
- EOLのバージョンを使い続けたらどうなるのか
- セキュリティホールや不具合が放置されたままになり、大きな事故につながる可能性があります。本番環境では即アップデートすることをおすすめします。
本記事のまとめ
この記事ではNode.jsの「サポート期限(EOL)」や「LTS(Long Term Support)」について、以下の内容を説明しました。
- Node.jsにはバージョンごとにサポート期限(EOL)が設定されている。
- 偶数バージョン(18, 20, 22など)はLTS(Long Term Support)対象になり、30ヶ月のサポートがある。
- 新しいメジャーバージョンは毎年4月と10月にリリースされる。
- LTSバージョンには「Active LTS」と「Maintenance LTS」の2段階のフェーズがある。
- Active LTS:約12ヶ月、バグ修正や改善など幅広い対応。
- Maintenance LTS:約18ヶ月、セキュリティ修正のみ。
- 奇数バージョン(19, 21など)は短期サポートのみで半年ほどでEOLを迎える。
- 本番運用にはLTSバージョンを選ぶのが基本。
- EOLとなったバージョンを使い続けるのはセキュリティ上リスクが高いのでNG。
- 最新のLTS情報は公式サイトで常にチェックするのがおすすめ。
お読み頂きありがとうございました。