Windowsで古いバージョンのNode.jsをインストールする方法
はじめに
私は先日までWindowsでNode.jsのバージョン18.16を使っていたのですが、試したかった外部パッケージの都合でバージョン18.17以降にアップデートする必要が出てきました。
ここで一気に最新バージョンの20にあげても良かったのですが、ちょっと外部パッケージを試すためだけにメジャー版をあげるのも躊躇われたので、18の最新版(v18.18)に更新することにしました。
しかし、公式サイトを探しても古いバージョンのインストーラが見当たらない、、、、そういえば、以前も同じように探してしまった気が、、、、
何はともあれ、無事見つかったのですが、古いバージョンのインストーラは少しわかりにくい場所にありました。
少し迷いましたが、自分が忘れないようにするためにも記事にして共有します。バージョン20が比較的最近リリースされてるため、同じように探してしまう方もいるかもしれませんし、、、。
また、この機にNode.jsのライフサイクル(新バージョンがリリースされてからサポート終了するまでのサイクル)についても学んだので、併せて記載します。
前提
最新のLTS(Long-Term-Support)ではない、古いバージョンのNode.jsのWindows用インストーラの入手方法について解説します。
バージョン管理ツールを使っていないことが前提となります。
余談
Linuxではnvmのように有名なバージョン管理ツールがあり、プロジェクトによってバージョンの切替が可能です。残念ながら、nvmはWindowsではサポートされていません。
Windowsでは、nvm-windowsというwindows用のバージョン管理ソフトがあるようです。私は使っていないのですが、マイクロソフト社のWindows での NodeJS のインストールでも案内されているので、私が知らないだけで結構メジャーなのかもしれませんね。
インストーラの在処
nodejs.orgのダウンロードページを開いてみましょう。
最新のLTSであるv20のダウンロードページとなります。WindowsやMac、LinuxのOSごとに、アーキテクチャ別にインストーラがあります。
緑色の「LTS」と横の薄い緑の「Current」がタブになっていて、「LTS」が選択された状態となっています。「Current」を押すとv21のインストーラに切り替えることができますが、これはちょっと特殊なものです。LTSやCurrentについては後述します。
同ページを下までスクロールすると、Previous Releasesのリンクがあります。
クリックしてページ下部にスクロールすると、各メジャー版ごとの最新版のリンクがあります。今回はv18のReleasesをクリックします。
v18の最新版のインストーラの一覧が表示されます。後はmsiをクリックしてダウンロードするだけです!
ちなみに、私のPCは64bitなのでnode-v18.18.2-x64.msiをダウンロードしました。
マイナー版も指定したい場合
各メジャー版の最新版なら、上記の手順で問題ありません。
しかし、例えば18.15とか18.6のように、特定のマイナー版が必要な場合、別の場所を探す必要があります。
上記のインストーラがあるページ上部の「../」をクリックします。
https://nodejs.org/download/release/が開きます。マイナー版も含め、Node.jsの各バージョンのインストーラのリンクがあります。
後は、欲しいバージョンのリンクをクリックして、同じようにmsiをダウンロードするだけです!
Node.jsのライフサイクル
※ endoflife.dateというOSやソフトウェアのサポート期限をまとめているサイトと、Node.jsのRelease Scheduleを参考にしています。
奇数版と偶数版
Node.jsでは、メジャー版が奇数と偶数の場合では用途が異なります。サポート期間も大きく異なるので、インストールの際には注意が必要です。
奇数版は、主にライブラリ開発者向けのバージョンとなります。新バージョンを先行して提供し、ライブラリ側で対応を行うためのバージョンなので、サポート期間は6か月と短いです。
偶数版がサポート期間が30か月保証されるバージョンです。LTS(Long Term Support)と呼ばれるのも、偶数版です(厳密には、「Activeステータスに移行した偶数版」です)。
Node v18(2025.4まで)のほうが、v21(2024.1まで)よりサポート期間が長いのも、上記のように偶数版と奇数版で目的が異なるのが理由です。
なので、ライブラリ開発者でもない限り、基本的には偶数版を入れることになります。
ライフサイクルのステータス
Node.jsは、リリースされてからCurrent、Active、Maintenanceという3つのステータスを経て、サポート終了を迎えます。
Node.jsのRelease Scheduleの図が分かりやすいので貼っておきます。
- Currentステータス
リリースされてから半年間はCurrentステータスとなります。ライブラリ開発者が対応をするための期間です。
半年後、偶数版は次のActiveステータスに移行します。奇数版は移行せず、そのままサポート終了します。
- Activeステータス、Maintenanceステータス
偶数版はCurrentステータス後に、30か月のサポート期間に移行します。この期間では致命的なバグの修正等が保証されます。
Activeステータス後にMaintenanceステータスに移行しますが、それぞれの期間は明確に定められてはいないようです。表を見る限り、だいたい1:1みたいですね。
GitHubを見る限り、ActiveでもMaintenanceでも、バグ修正、セキュリティ対応は行わます。新機能の追加は、Activeの場合は積極的に行われるようですが、Maintenanceの場合は必要な場合のみ行われるようです。
Activeステータスに移行したバージョンはLTSと呼ばれます。公式サイトには、「本番で使う場合、ActiveかMaintenanceのバージョンを使うように」と記載されているので、インストールする場合は自身の用途を一度確認したほうが良さそうですね。
また、偶数版であってもリリースから半年間はCurrentステータスとなり、Activeに移行するまでは本番利用は推奨されない点は留意が必要です。
最後に
今回は、古いバージョンのWindows用Node.jsインストーラの探し方と、Node.jsのライフサイクルについて記載しました。
やっぱり1つのバージョンしか入れられないのは不便ですね、、、毎回msiをダウンロードしてインストールするのも手間です。
windows-nvmのようなバージョン管理ツールの導入も検討したいと思います。
参考
- About Node.js: https://nodejs.org/en/about
- endoflife.date :https://endoflife.date/nodejs
- Previous Releases :https://nodejs.org/en/about/previous-releases
- nodejs/Releases :https://github.com/nodejs/Release
- nvm-windows: https://github.com/coreybutler/nvm-windows