エコシステムを Node 22 へ移行する
2025 年初頭に、Electron の npm エコシステムリポジトリ (@electron/ および @electron-forge/ 名前空間の下) は、最小サポートバージョンを Node.js 22 へ移行します。
どういう意味ですか?
これまで、Electron の npm エコシステム (Forge、Packager など) のパッケージは、その Node バージョンのサポート終了 (EOL) 日が過ぎた後でも、可能な限りそのバージョンをサポートしてきました。 これは、エコシステムが断片化されないようにするためです。多くのプロジェクトが古いバージョンの Node に依存していることを理解していますが、アップグレードする緊急の理由がなかっただけでそれらのプロジェクトが取り残されるリスクを冒したくありません。
時間の経過とともに、Node.js 14 を最小バージョンとして使用することが、以下の理由によりますます困難になってきました。
- 公式の Node.js 14 は macOS ARM64 ビルドがないため、完全なテストカバレッジを提供するために CI インフラストラクチャでの回避策をメンテンナンスする必要があります。
- 上流パッケージの依存関係に対する
enginesの要件が進み、依存関係の増加によるサプライ チェーンのセキュリティ問題を解決することがますます困難になっています。
さらに、Node.js の新しいバージョンには、ランタイムネイティブの共通ユーティリティ (例: fs.glob や util.parseArgs) や、付属の新規モジュール (例: node:test、node:sqlite) など、活用したい多くの改善点が含まれています。
なぜ今アップグレードするのですか?
2024 年 7 月、Electron のエコシステムワーキンググループは、そのバージョンが LTS の日付に達した後の将来、同期的な ESM グラフの require() がサポートされる最初の Node バージョンで全パッケージをアップグレードすることを決定しました (nodejs/node#51977 および nodejs/node#53500 を参照)。
このアップデート時期は 2025 年 1 月 / 2 月に設定しました。 このアップグレードが行われると、Node 22 が既存のエコシステムパッケージでサポートされる最小バージョンになります。
自分に必要なアクションは何ですか?
私たちは可能な限り互換性を維持するよう努めています。 しかし、最適なサポートを確実に受けるためにアプリを Node 22 以降へアップグレードすることを推奨します。
注意として、プロジェクトを実行している Node のバージョンは現在の Electron バージョンに組み込まれている Node のバージョンと無関係です。
今後の予定
ご質問やご不明な点がありましたら、info@electronjs.org まで気軽にお問い合わせください。 公式の Electron の Discord でコミュニティのサポートも得られるでしょう。
