この記事では『nvm for Windows』について、
- nvm for Windowsとは
- nvm for Windowsのインストール方法
- nvmのコマンド
- nvmの環境変数
- nvm for Windowsをインストールした際に設定された環境変数の確認方法
などを図を用いて分かりやすく説明するように心掛けています。ご参考になれば幸いです。
nvm for Windowsとは
nvm for Windowsは、Windows環境で複数のNode.jsバージョンを管理するためのバージョン管理ツールです。
nvm for Windowsを用いることで、特定のバージョンのNode.jsを簡単にインストールすることができます。また、複数の異なるバージョンのNode.jsをインストールして、必要に応じてそれらのバージョンを切り替えて使うこともできます。
もともとnvm(Node Version Manager)というNode.jsのバージョン管理ツールがありますが、このnvmはmacやLinuxなどでしか使用することができず、windowsに対応していませんでした。nvm for WindowsはnvmのWindows版として設計されており、nvm for Windowsをインストールすることで、Windows上でnvmのようにNode.jsのバージョン管理を行えるようになります。
補足
- nvm for Windowsはnvmとは全く別のプロジェクトとして運営されています。
- nvm for WindowsはMITライセンスで利用できます
nvm for Windowsのインストール方法
nvm for Windowsをインストールする手順を以下に示します。
nvm for Windowsのインストール手順
- nvm for Windowsをダウンロードする
- nvm for Windowsのインストーラを実行する
- インストーラの指示に従って、nvm for Windowsをインストールする
ではこれから上記の手順について順番に説明します。
nvm for Windowsをダウンロードする
nvm for Windowsのインストーラーをダウンロードするために、お使いのWebブラウザ(Google Chromeなど)で以下リンクに示すGitHubのnvm-windowsリリースページにアクセスします。
nvm for Windows
nvm-setup.zipがインストーラです。nvm-setup.zipをクリックするとインストーラをダウンロードすることができます(2024年4月4日時点の最新バージョンは1.1.12です)。
nvm for Windowsのインストーラを実行する
ダウンロードしたnvm-setup.zipを解凍すると、nvm-setup.exeがあります。nvm-setup.exeをダブルクリックすると、インストールが始まります。
nvm-setup.exeをダブルクリックした際に、「このアプリがデバイスに変更を加えることを許可しますか?」と表示された場合には「はい」をクリックしてください。
インストーラの指示に従って、nvm for Windowsをインストールする
インストーラの指示に従って、nvm for Windowsをインストールします。
nvm for Windowsのインストールは以下の手順で行います。インストール先(nvm for Windowsをインストールするディレクトリ)やその他のオプションはデフォルトのままで問題ありませんが、必要に応じて変更できます。
nvm for Windowsのインストール手順
- ライセンスに同意し、「Next」ボタンをクリックする
- nvm for Windowsのインストール先を設定する
- nvm for Windowsのシンボリックリンクの作成先を設定する
- インストール開始画面で「Install」ボタンをクリックする
- nvm for Windowsのインストール開始
- nvm for Windowsのインストール完了
ではこれから上記の手順について順番に説明します。
ライセンスに同意し、「Next」ボタンをクリックする
nvm-setup.exeをダブルクリックすると、最初に上記の画面が表示されます。ライセンスに同意して、「Next」ボタンをクリックします。
nvm for Windowsのインストール先を設定する
nvm for Windowsのインストール先のフォルダを選択する画面が表示されます。特に理由がなければ、デフォルト設定のまま「Next」をクリックします。
nvm for Windowsのシンボリックリンクの作成先を設定する
nvm for Windowsのシンボリックリンクの作成先を選択する画面が表示されます。特に理由がなければ、デフォルト設定のまま「Next」をクリックします。
シンボリックリンク(Symbolic Link)とは
シンボリックリンクは実際のファイルやディレクトリではなく、別の場所にあるファイルやディレクトリを指すパスを含む特殊なファイルのようなものです。nvm for Windowsではこのシンボリックリンクを使用することで、Node.jsのバージョンを切り替えています。
インストール開始画面で「Install」ボタンをクリックする
「インストール準備完了」画面が表示されます。「Install」ボタンをクリックします。
「Install」をクリックした時に、「このアプリがデバイスに変更を加えることを許可しますか?」と表示された場合には「はい」をクリックしてください。
nvm for Windowsのインストール開始
インストールが開始します。インストールが終わるまで少しの時間待ちましょう。
nvm for Windowsのインストール完了
上図の画面が表示されれば、nvm for Windowsのインストールが完了です。「Finish」ボタンをクリックします。
nvmが正常にインストールされたことを確認する
nvmが正常にインストールされたかを確認します。
「PowerShell」または「コマンドプロンプト(cmd)」を起動し、以下のコマンド実行します。
nvm version
# 以下のコマンドでも可能
nvm v
上記のコマンドの実行結果は下記のようになります。インストールしたバージョン(1.1.12など)が正しく表示されればOKです。
PS C:\Users\user01> nvm version
1.1.12
nvmコマンドが実行できない場合、環境変数にNVM_HOME(インストール先フォルダ)やNVM_SYMLINK(シンボリックリンクの作成先フォルダ)が登録されているかを確認しましょう。環境変数については後ほど詳しく説明します。
nvmのコマンド
nvm for Windowsがインストールできたら、「PowerShell」または「コマンドプロンプト(cmd)」で以下のコマンドが実行できます。
nvm list
ornvm ls
- インストール済みのNode.jsのバージョンを確認する
nvm list available
ornvm ls available
- インストール可能なNode.jsのバージョンを確認する
nvm install <バージョン>
- 特定のバージョンのNode.jsをインストールする
nvm use <バージョン>
- 使用するバージョンを切り替える
nvm uninstall <バージョン>
- インストール済みのNode.jsのバージョンを削除(アンインストール)する
各コマンドについて順番に詳しく説明します。
nvm list
or nvm ls
インストール済みのNode.jsのバージョンを確認するには、nvm list
またはnvm ls
を実行します。
上記コマンドの実行結果の一例を以下に示します。
PS C:\Users\user01> nvm list
* 18.16.0 (Currently using 64-bit executable)
上記の実行結果より、今はバージョン18.16.0のNode.jsがインストールされていて、そのバージョンのNode.jsを使用していることが分かります(*
が付いているのが現在使用しているNode.jsのバージョンです)。
nvm list available
or nvm ls available
インストール可能なNode.jsのバージョンを確認するには、nvm list available
またはnvm ls available
を実行します。
上記コマンドの実行結果の一例を以下に示します。
PS C:\Users\user01> nvm list available
| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 21.7.2 | 20.12.1 | 0.12.18 | 0.11.16 |
| 21.7.1 | 20.12.0 | 0.12.17 | 0.11.15 |
| 21.7.0 | 20.11.1 | 0.12.16 | 0.11.14 |
| 21.6.2 | 20.11.0 | 0.12.15 | 0.11.13 |
| 21.6.1 | 20.10.0 | 0.12.14 | 0.11.12 |
| 21.6.0 | 20.9.0 | 0.12.13 | 0.11.11 |
| 21.5.0 | 18.20.1 | 0.12.12 | 0.11.10 |
| 21.4.0 | 18.20.0 | 0.12.11 | 0.11.9 |
| 21.3.0 | 18.19.1 | 0.12.10 | 0.11.8 |
| 21.2.0 | 18.19.0 | 0.12.9 | 0.11.7 |
| 21.1.0 | 18.18.2 | 0.12.8 | 0.11.6 |
| 21.0.0 | 18.18.1 | 0.12.7 | 0.11.5 |
| 20.8.1 | 18.18.0 | 0.12.6 | 0.11.4 |
| 20.8.0 | 18.17.1 | 0.12.5 | 0.11.3 |
| 20.7.0 | 18.17.0 | 0.12.4 | 0.11.2 |
| 20.6.1 | 18.16.1 | 0.12.3 | 0.11.1 |
| 20.6.0 | 18.16.0 | 0.12.2 | 0.11.0 |
| 20.5.1 | 18.15.0 | 0.12.1 | 0.9.12 |
| 20.5.0 | 18.14.2 | 0.12.0 | 0.9.11 |
| 20.4.0 | 18.14.1 | 0.10.48 | 0.9.10 |
This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases
CURRENT
の列は現在の最新バージョン、LTS
の列はLTS(Long Term Support)のバージョンを新しい順に表示しています。
nvm install <バージョン>
nvm list available
またはnvm ls available
でインストール可能なNode.jsのバージョンを確認を確認したら、特定のバージョンのNode.jsをインストールしてみましょう。
特定のバージョンのNode.jsをインストールするには、nvm install <バージョン>
を実行します。例えば、nvm install 20.12.1
を実行すると、バージョン20.12.1のNode.jsをインストールすることができます。
上記コマンドの実行結果の一例を以下に示します(以下の実行結果ではインストール前後でnpm list
を実行して、バージョン20.12.1のNode.jsがインストールされているかを確認しています)。
PS C:\Users\user01> nvm list # 使用中のバージョンを確認します
* 18.16.0 (Currently using 64-bit executable)
PS C:\Users\user01> nvm install 20.12.1 # バージョン20.12.1のNode.jsをインストールします
Downloading node.js version 20.12.1 (64-bit)...
Extracting node and npm...
Complete
npm v10.5.0 installed successfully.
Installation complete. If you want to use this version, type
nvm use 20.12.1
PS C:\Users\user01> nvm list # インストールしたバージョンが追加されていることを確認します
20.12.1
* 18.16.0 (Currently using 64-bit executable)
nvm install <バージョン>
では特定のバージョンのNode.jsをインストールすることができますが、使用しているNode.jsのバージョンは変わっていません(上記の実行結果にて*
が付いているのが現在使用しているNode.jsのバージョンです)。使用するNode.jsのバージョンを切り替えるには、nvm use <バージョン>
を実行します。次に、nvm use <バージョン>
について説明します。
nvm install latest
最新バージョンをNode.jsをインストールする場合には以下のコマンドを実行します。
nvm install latest
nvm use <バージョン>
複数のバージョンのNode.jsをインストールした場合、nvm use <バージョン>
で使用するバージョンを切り替えることができます。例えば、nvm use 20.12.1
を実行すると、使用するNode.jsのバージョンを20.12.1に切り替えることができます。
上記コマンドの実行結果の一例を以下に示します(以下の実行結果ではバージョンの切り替え前後でnpm list
を実行しています)。
PS C:\Users\user01> nvm list # 使用中のバージョンを確認します
20.12.1
* 18.16.0 (Currently using 64-bit executable)
PS C:\Users\user01> nvm use 20.12.1 # バージョン20.12.1のNode.jsを使用するように変更します
Now using node v20.12.1 (64-bit)
PS C:\Users\user01> nvm list # 使用中のバージョンを確認します
* 20.12.1 (Currently using 64-bit executable)
18.16.0
nvm use <バージョン>
を実行した時に、「このアプリがデバイスに変更を加えることを許可しますか?」と表示された場合には「はい」をクリックしてください。
Node.jsのバージョンを切り替えは、環境変数のNVM_SYMLINKで指定したシンボリックリンクの向き先を切り替えることで行っています。シンボリックリンクの編集に管理者権限が必要な場合、「このアプリがデバイスに変更を加えることを許可しますか?」が表示されます(管理者権限で「PowerShell」または「コマンドプロンプト(cmd)」を起動すれば、表示されなくなります)。
nvm uninstall <バージョン>
インストール済みのNode.jsのバージョンを削除(アンインストール)するには、nvm uninstall <バージョン>
を実行します。例えば、nvm uninstall 20.12.1
を実行すると、バージョン20.12.1のNode.jsを削除することができます。
上記コマンドの実行結果の一例を以下に示します(以下の実行結果では削除前後でnpm list
を実行して、バージョン20.12.1のNode.jsが削除されているかを確認しています)。
PS C:\Users\user01> nvm list # 使用中のバージョンを確認します
20.12.1
* 18.16.0 (Currently using 64-bit executable)
PS C:\Users\user01> nvm uninstall 20.12.1 # バージョン20.12.1のNode.jsを削除します
Uninstalling node v20.12.1... done
PS C:\Users\user01> nvm list # 削除したバージョンがなくなっていることを確認します
* 18.16.0 (Currently using 64-bit executable)
nvmの環境変数
nvm for Windowsは、インストールすると、特定のNode.jsバージョンを使用するための環境変数(NVM_HOMEとNVM_SYMLINK)を自動的に設定します。
NVM_HOMEはnvm for Windowsがインストールされているディレクトリを示す環境変数です。
NVM_SYMLINKは現在使用中しているNode.jsのバージョンを指し示すためのシンボリックリンクの場所を示す環境変数です。このシンボリックリンクを使用することで、現在使用中のNode.jsのバージョンを簡単に切り替えることができます。
例えば、nvm use 20.12.1
を実行すると、nvm for Windowsはバージョン20.12.1のNode.jsがインストールされているディレクトリへの新しいシンボリックリンクをNVM_SYMLINKで指定された場所に作成します。既にNVM_SYMLINKで指定された場所にシンボリックリンクが存在する場合には、バージョン20.12.1のNode.jsがインストールされているディレクトリへのシンボリックリンクに更新します。
nvm for Windowsをインストールした際に設定された環境変数の確認
nvm for Windowsをインストールした際に設定された環境変数にどのような値が設定されているのかを確認してみます。
環境変数の確認方法は下記の手順となります。
環境変数Pathの確認方法
- Windowsの検索ボックスに「環境変数」と入力する
- 「システムのプロパティ」画面で「環境変数」ボタンをクリックする
- 「システム環境設定」に記載されている環境変数を確認する
ではこれから、上記の手順について順番に説明します。
Windowsの検索ボックスに「環境変数」と入力する
Windowsの検索ボックスに「環境変数」と入力します。
「システム環境変数の編集」が表示されたら、「システム環境変数の編集」をクリックしてください。
「システムのプロパティ」画面で「環境変数」ボタンをクリックする
「システムのプロパティ」画面が表示されます。右下にある「環境変数」ボタンをクリックします。
「システム環境設定」に記載されている環境変数を確認する
「環境変数」画面が表示されます。この画面でnvm for Windowsをインストールした際に設定された環境変数の値を確認することができます。
NVM_HOME
- nvm for Windowsがインストールされているディレクトリを指します。
- この例では
C:\Users\user01\AppData\Roaming\nvm
となっており、nvm for Windowsの実行ファイルやインストールされたNode.jsのバージョン情報などがこのディレクトリ内に保持されます。
NVM_SYMLINK
- 現在使用中しているNode.jsのバージョンを指し示すためのシンボリックリンクが作成される場所を指します。
- この例では
C:\Program Files\nodejs
となっており、シンボリックリンクの本体はC:\Program Files\nodejs
にありますが、シンボリックリンクによって、本体はNVM_HOME(C:\Users\user01\AppData\Roaming\nvm)
内の現在使用中しているNode.jsバージョンがインストールされているディレクトリに動的にリンクされています。
memo
NVM_SYMLINK
が指定するディレクトリ(このケースではC:\Program Files\nodejs
)は、現在使用中のNode.jsのバージョン(例えば、20.12.1)がインストールされているNVM_HOME
内のディレクトリ(この例ではC:\Users\user01\AppData\Roaming\nvm\v20.12.1
)へのシンボリックリンクを作成します。これにより、C:\Program Files\nodejs
ディレクトリを介してNode.jsの特定のバージョンにアクセスする際、実際にはC:\Users\user01\AppData\Roaming\nvm\v20.12.1
ディレクトリ内のファイルが使用されます。
そのため、以下に示すように各フォルダの中身を見ると同じになっています。
また、以下に示すようにNVM_HOME
が指すC:\Users\user01\AppData\Roaming\nvm
やNVM_SYMLINK
が指すC:\Program Files\nodejs
は、システムの環境変数pathにも含まれていることが一般的です。これにより、コマンドプロンプトや他のアプリケーションからnvm
やnode
やnpm
コマンドが実行できるようになっています。
本記事のまとめ
この記事では『nvm for Windows』について、以下の内容を説明しました。
- nvm for Windowsとは
- nvm for Windowsのインストール方法
- nvmのコマンド
- nvmの環境変数
- nvm for Windowsをインストールした際に設定された環境変数の確認方法
お読み頂きありがとうございました。