Node.js 22(コードネーム: Jod)は 2024年4月24日にリリースされ、2024年10月に LTS(Long-Term Support)に昇格しました。Active LTS フェーズは 2025年10月21日に終了しており、現在は Maintenance フェーズです。EOL は 2027年4月30日です。前世代の Node.js 20 は 2026年4月30日にサポートが終了しており、Node.js 22 または 24 への移行が必要な状況です。本記事では Node.js 22 のサポートスケジュールと Node.js 24 LTS への移行手順を解説します。
Node.js 22 のサポート期限一覧
| フェーズ | 開始日 | 終了日 | 現在のステータス |
|---|---|---|---|
| Current(最初のリリース期間) | 2024-04-24 | 2024-10-29 | 終了済み |
| Active LTS(新機能・バグ修正) | 2024-10-29 | 2025-10-21 | 終了済み |
| Maintenance(重大なバグ修正・セキュリティパッチのみ) | 2025-10-21 | 2027-04-30 | 継続中(Maintenanceフェーズ) |
Node.js のリリースポリシー
偶数メジャーバージョン(18・20・22・24…)は LTS 対象で、Current → Active LTS → Maintenance の順にフェーズが移行します。LTS バージョン全体のサポート期間は約30ヶ月です。Maintenance フェーズでは重大なバグ修正とセキュリティパッチのみが提供されます。
基本情報
- リリース日: 2024年4月24日(LTS昇格: 2024年10月29日)
- 最新バージョン: 22.16.0
- Active LTS 終了: 2025年10月21日(終了済み)
- Maintenance EOL: 2027年4月30日
- 後継製品: Node.js 24 LTS(推奨)
- 主な新機能: V8 エンジン 12.4・WebSocket クライアント組み込み(
--experimental-websocketなし)・require(esm)の安定化・glob API 安定化・Watch モードの改善
Node.js 20 からの移行が必要な理由
Node.js 20 は 2026年4月30日にサポートが終了しています。Node.js 20 を継続使用している場合、セキュリティパッチを受け取れないリスクがあります。Node.js 22 または推奨の Node.js 24 LTS への移行が必要です。
1. セキュリティパッチの停止
EOL 後は Node.js コアや依存ライブラリの脆弱性に対するパッチが提供されなくなります。Node.js は Web アプリケーションサーバー・API サーバー・ビルドツールとして広く使われており、未修正の CVE が存在すると攻撃面が広がります。
2. npm パッケージの互換性問題
人気の npm パッケージは最新の Node.js LTS バージョンへの対応を優先して開発されます。EOL バージョンでは新しいパッケージが動作しない、または既知のバグが修正されない状況が発生します。特に CI/CD パイプラインで利用するビルドツール(Vite・webpack・Next.js 等)は Node.js バージョン要件を明記していることが多く、バージョンの乖離はビルドエラーの原因になります。
3. クラウドプラットフォームのサポート終了
AWS Lambda・Azure Functions・Google Cloud Functions・Vercel・Heroku などのサーバーレス・PaaS プラットフォームは、EOL バージョンの Node.js ランタイムをサポート終了または削除します。プラットフォーム側の強制移行が発生する前に、計画的にバージョンアップを実施してください。
推奨される移行先
Node.js 24 LTS — 推奨(現行最新 LTS)
- リリース日: 2025年5月6日(LTS昇格: 2025年10月)
- 最新バージョン: 24.x
- EOL: 2028年4月30日
- 主な追加機能: V8 エンジン 13.x・
URLPatternの安定化・Node.js テストランナーの機能強化・ES2024 構文サポート - メリット: 現行最新 LTS として長期のセキュリティサポートを受けられる
- 適したケース: 新規プロジェクトおよびセキュリティを重視する本番環境
Node.js 22 LTS — 現在 Maintenance フェーズ(EOL: 2027年4月)
- EOL: 2027年4月30日
- 適したケース: 大規模なコード変更が困難で短期的な移行が必要な場合の一時的な移行先
- 注意: 既に Maintenance フェーズのため、最終的には 24 LTS への移行が必要
Node.js 20/22 → 24 移行時の注意点
破壊的変更の確認
Node.js のメジャーバージョン間には破壊的変更が含まれる場合があります。node --experimental-print-required-tla オプションやモジュールシステム(CommonJS vs ESM)の扱いに変更がある場合があります。移行前に公式の Migration Guide を確認してください。
nvm / volta によるバージョン管理
複数プロジェクトが異なる Node.js バージョンを使用している場合は、nvm(Node Version Manager)または volta を使用してバージョンを切り替えながら段階的な移行が可能です。.nvmrc ファイルにバージョンを指定することで、チームメンバー全員が同じバージョンを使用できます。
# .nvmrc ファイルにバージョンを指定
echo "24" > .nvmrc
# nvm でバージョン切り替え
nvm use
Docker イメージの更新
Dockerfile で FROM node:22 と指定している場合は FROM node:24(または FROM node:24-alpine)に更新します。CI/CD パイプラインのビルド設定も合わせて変更してください。
ホスティング環境の見直し
Node.js アプリケーションをセルフホストしている場合、VPS でのランタイム管理は Node.js のバージョン更新・プロセス監視(PM2 等)・セキュリティパッチ適用を手動で行う必要があります。