Windowsでnode.jsやnpmのバージョンをアップデート・変更する方法|バージョンが切り替わらないときの対処法(nodistの使い方)

nodejs-prograshi(プロぐらし)-kv Node-js
記事内に広告が含まれていることがあります。

ここでは、Windwosでnode.jsのバージョンをアップデートする方法や、インストーラーを使って新しいnode.jsのバージョンをインストールしたのにバージョンが昔のままから切り替わらない時の対処法についてまとめています。


nodeのバージョンを確認する方法

自分の環境のnodeのバージョンを確認するには以下のコマンドを実行します。

node -v

なお「-v」は「--version」のショートオプションです。node --versionとしても同じ処理になります。

実例

$ node -v
v12.16.2

npmのバージョンを確認したい場合は、npm -vとします。

$ npm -v
6.9.0


Node.jsのバージョンをアップデートする方法

Node.jsのバージョンをアップデートするには、公式サイトから最新版、あるいは安定版をダウンロードし、インストールを実行すると切り替わります。

以下のように表示されるので、タブを切り替えて「LTS(安定版)」か「最新版」を選択します。

下の「Windows Installer」をクリックするとインストーラーをダウンロードすることができます。


ダウンロードしたファイルを開くと、インストーラーが起動します。あとは流れに沿ってインストルしていきます。

「next」をクリックします。


「I accept the terms in the License Agreement」にチェックを入れ、「Next」をクリックします。


インストール先のディレクトリを指定し、「Next」をクリックします。

「Next」をクリックします。

「Automatically Install ~」にチェックを入れ「Next」をクリックします。

「Install」をクリックします。

変更を加えることを許可するとインストールが始まります。


「Finish」をクリックします。

黒画面が起動します。なんでもいいのでキーをクリックします。

PowerShellが起動するので、変更することを許可します。

インストールには10分ほどかかります。

最後に「Type ENTER to exit: 」と表示されるので、EnterをクリックすればPowerShellが閉じて、インストール完了となります。


PCを再起動し、コマンドプロンプトを開いて、nodeとnpmがインストールされているか確認します。

#インストール済みか確認(バージョンが表示されればインストール済み)
$ node -v

#npmがインストール済みか確認
$ npm -v

以上でNode.jsのインストールが完了です。


公式ページからのインストールでバージョンが切り替わらない場合

過去にNode.jsをインストールしたときに、WindowsでのNode.jsのバージョン管理システム「nodist」というパッケージが入っていると、バージョンが切り替わりません。

その場合は「nodist」を使ってバージョンを切り替えます。


nodistのバージョンを確認する

nodistが入っているかを確認するには以下のコマンドを実行します。

nodist -v

ここでnodistのバージョン表示された場合は、nodist経由でNode.jsのバージョンをアップデートします。

実例

$ nodist -v
0.9.1


現在入っているバージョンを確認する

nodistに現在インストールされているバージョンを確認するには以下のコマンドを実行します。

nodist

実例

$ nodist
  (x64)
  10.13.0 
  11.13.0
> 12.16.2  (global: 12.16.2)

上記の場合、最新のバージョンは「12.16.2」でこれが、グローバルで指定されています。



新しいバージョンを追加する

新しい、あるいは他のバージョンを追加する方法は以下の3つです。

バージョンを追加する方法
  1. 最新版を追加する。
  2. 安定版を追加する。
  3. バージョンを指定する。


最新版を追加する

最新版を追加する場合は「nodist latest」を実行します。

nodist latest


安定版を追加する

安定版を追加する場合は「nodist stable」を実行します。

nodist stable


バージョンを指定する

バージョンを指定する場合は「nodist add」でバージョンを記載します。

nodist add <バージョン>


実例

例えば「v16系」のバージョンをインストールしたい場合は、「v16」を指定します。この場合は、v16でマイナーバージョンやパッチバージョンが最新のものが追加されます。

「v16.13.2」のようにマイナーバージョンやパッチも指定することができます。

$ nodist add v16
 16.13.2 [===============] 58003/58003 KiB 100% 0.0s
16.13.2



バージョンを切り替える

追加したバージョンに切り替える方法は以下の2つです。

バージョンを切り替える方法
  1. グローバルにバージョンを指定する。
  2. 現在の環境でのみバージョンを指定する。


グローバルにバージョンを指定する

グローバルにバージョンをを指定する場合は「nodist global」コマンドを使います。

nodist global <バージョン>


実例

まず、nodistでインストールされているバージョンの一覧を確認します。

$ nodist
  (x64)
  10.13.0 
  11.13.0
> 12.16.2  (global: 12.16.2)
  16.13.2


新たに追加した「16.13.2」に切り替えます。

$ nodist global 16.13.2
16.13.2
16.13.2 (global)

以上で切り替えが完了です。nodistで確認すると、(global: 16.13.2)というように、指定したバージョン「16.13.2」がグローバルとして適用されていることがわかります。

$ nodist
  (x64)
  10.13.0 
  11.13.0
  12.16.2
> 16.13.2  (global: 16.13.2)

最後にnode -vでnodeのバージョンを確認します。

$ node -v
v16.13.2

指定したバージョンに正しく切り替わっていることがわかります。



現在の環境でのみバージョンを指定する

現在の環境でのみバージョンを指定する場合は「nodist user」コマンドを使います。

nodist use <バージョン>


実例

まず、nodistでインストールされているバージョンの一覧を確認します。

$ nodist
  (x64)
  10.13.0 
  11.13.0
> 12.16.2  (global: 12.16.2)
  16.13.2


新たに追加した「16.13.2」に切り替えます。

$ nodist use 16.13.2
16.13.2

以上で切り替えが完了です。nodistで確認すると、(env: 16.13.2)というように、現在の環境で「16.13.2」が適用されていることがわかります。

$ nodist
  (x64)
  10.13.0 
  11.13.0
  12.16.2
> 16.13.2  (env: 16.13.2) (global: 16.13.2)

最後にnode -vでnodeのバージョンを確認します。

$ node -v
v16.13.2

指定したバージョンに正しく切り替わっていることがわかります。


npmのバージョンをアップデートする/合わせる

nodeのバージョン変更にともないnpmのバージョンも変更する必要があります。nodist npm matchを実行すると、現在指定しているnodeのバージョンとマッチしたnpmのバージョンに切り替わります。

指定したnpmのバージョンが無い場合はインストールしてくれます。

nodist npm match


実例

まず、nodistでインストールされているnpmバージョンの一覧を確認します。現在のバージョンは「6.9.0」です。

$ nodist npm
> 6.9.0  (global: 6.9.0)

続いて、npmをアップデートします。

$ nodist npm match
npm match

https://codeload.github.com/npm/cli/tar.gz/v8.1.2
[============= ] 2415/2788 KiB 86% 0.1s

対応するnpmのバージョンがないので、新たにインストールします。

インストールが完了後、npmのバージョンを確認するとバージョンアップしていることがわかります。

$ npm -v
8.1.2

以上で完了です。

npmのバージョンを変更する方法

手動でnpmのバージョンを変更したい場合は、以下のコマンドを実行します。

nodist npm global <バージョン>

タイトルとURLをコピーしました