記事一覧に戻る

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のダウンロードページを開いてみましょう。

top-download-page

最新のLTSであるv20のダウンロードページとなります。WindowsやMac、LinuxのOSごとに、アーキテクチャ別にインストーラがあります。

緑色の「LTS」と横の薄い緑の「Current」がタブになっていて、「LTS」が選択された状態となっています。「Current」を押すとv21のインストーラに切り替えることができますが、これはちょっと特殊なものです。LTSやCurrentについては後述します。

同ページを下までスクロールすると、Previous Releasesのリンクがあります。

previous-download-page

クリックしてページ下部にスクロールすると、各メジャー版ごとの最新版のリンクがあります。今回はv18のReleasesをクリックします。

previous-download-list-page

v18の最新版のインストーラの一覧が表示されます。後はmsiをクリックしてダウンロードするだけです!

previous-msi-page

ちなみに、私のPCは64bitなのでnode-v18.18.2-x64.msiをダウンロードしました。

マイナー版も指定したい場合

各メジャー版の最新版なら、上記の手順で問題ありません。

しかし、例えば18.15とか18.6のように、特定のマイナー版が必要な場合、別の場所を探す必要があります。

上記のインストーラがあるページ上部の「../」をクリックします。

link-previous-msi-minor-page

https://nodejs.org/download/release/が開きます。マイナー版も含め、Node.jsの各バージョンのインストーラのリンクがあります。

link-previous-msi-all-page

後は、欲しいバージョンのリンクをクリックして、同じように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は、リリースされてからCurrentActiveMaintenanceという3つのステータスを経て、サポート終了を迎えます。

Node.jsのRelease Scheduleの図が分かりやすいので貼っておきます。

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のようなバージョン管理ツールの導入も検討したいと思います。

参考

記事一覧に戻る