はしめに
Visual Studio Code v1.21から、正式にNode Version Switcher (nvs)がサポートされるようになりました。個人的には、バージョン切り替えの需要があまりなかったのですが、最近旧バージョンを併用しなければならなくなったのでこの機会に触れてみました。
Node Version Switcher
Node Version Switcherとは
Node Version Switcher (以下、nvs)とは、クロスプラットフォームで動作する、Node.jsのバージョン切り替えを行えるユーティリティです。nvs以外に必要な依存パッケージはなく、単独で動作します。Node.jsすら必要がないため、手軽に環境を構築して使い始めるられます。
セットアップ
ここでは、Windows環境をターゲットにnvsのセットアップの方法を説明します(もちろん、Macなどにもインストールできますが、手元に環境がないので割愛します)。説明といっても、手順は簡単で、Github上にホストされているnvsのリリースページから最新のインストーラー(nvs-X.X.X.msi)をダウンロードして、インストールするだけです。
なお、nvsにはコマンドプロンプトから呼び出せない機能があるため、PowerShell 3.0以上が必要になります。PowerShell 3.0は、Windows 8以降であれば標準搭載されていますので、特に配慮することはありません。Windows 7の場合は、PowerShellをアップデートするために更新プログラムの適用が必要になります。
nvsのコマンド
コマンド | 概要 |
---|---|
nvs help <command> |
ヘルプ表示 |
nvs install |
プロファイルの初期化 |
nvs uninstall |
nvsをプロファイルと環境からアンインストール |
nvs --version |
nvsのバージョンを表示 |
nvs add <version> |
指定したバージョンのNode.jsをインストール |
nvs rm <version> |
指定したバージョンのNode.jsをアンインストール |
nvs migrate <fromver> [tover] |
グローバルモジュールの移行 |
nvs upgrade [fromver] |
メジャーバージョンにマイナーパッチの適用 |
nvs use [version] |
現在のシェルで使用するバージョンの切り替え |
nvs auto [on/off] |
自動切換えのオン/of |
nvs run <ver> <js> [args...] |
スクリプトの実行 |
nvs exec <ver> <exe> [args...] |
PATH を使用してスクリプトを実行 |
nvs which [version] |
Node.jsのパスを表示 |
nvs ls [filter] |
ローカルにあるNode.jsのリストを表示 |
nvs ls-remote [filter] |
ダウンロード可能なNode.jsのリストを表示 |
nvs link [version] |
既定で使用するNode.jsのバージョンを指定 |
nvs unlink [version] |
既定で使用するNode.jsのバージョンを解除 |
nvs alias [name] [value] |
Node.jsのバージョンに名前をつける |
nvs remote [name] [value] |
Node.jsの提供先のURIを指定 |
コマンド実行例
Node.jsのダウンロード
ダウンロードはadd
オプションにバージョン指定をしておこないます。最新版やLTSバージョンでは、latest(最新版)やCarbon(8系統)などのエイリアスを指定してダウンロードすることもできます。
nvs add latest # 最新版のダウンロード
nvs add 7.7.4 # 7.7.4のダウンロード
スクリプトの実行
run
オプションにバージョンとファイル名を指定します。
nvs run 7.7.4 main.js # Node.js 7.7.4でmain.jsを実行
毎回バージョンを指定するのが面倒な場合は、エイリアスで指定もできます。
nvs alias 7.7.4 node7 # Node.js 7.7.4をnode7というエイリアスに指定
nvs run node7 main.js # Node.js 7.7.4でmain.jsを実行
パッケージのインストール
プロンプト上でnpm
コマンドをたたくだけです。
npm install -g gulp # Gulpをグローバルインストール
なお、上記のコマンドを実行すると既定のバージョンのNode.jsにのみグローバルインストールされます。既定のバージョンを切り替える場合は、link
オプションを使用します。
nvs link latest # 既定を最新版に変更
npm install -g gulp # 最新版のNode.jsにGulpをグローバルインストール
繰り返しになりますが、上記のコマンドを実行すると既定のバージョンのNode.jsにのみグローバルインストールされます。そのほかのバージョンのNode.jsにもグローバルインストールする場合は、migrate
オプションを用います。
nvs link latest # 既定を最新版に変更
npm install -g gulp # 最新版のNode.jsにGulpをグローバルインストール
nvs migrate latest 7.7.4 # 最新版のNode.jsにグローバルインストールされているパッケージを7.7.4にもインストール
VS Codeから使用
VS Codeからは、.vscode/launch.json
に下記の設定を埋め込むだけで、F5
キーで実行できるようになります。実行時に使用するNode.jsのバージョンはruntimeArgs
で指定しています。
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${file}",
"args": [ ],
"runtimeArgs": [ "7.7.4" ],
"windows": { "runtimeExecutable": "nvs.cmd" },
"osx": { "runtimeExecutable": "nvs" },
"linux": { "runtimeExecutable": "nvs" }
}
]
最後に
nvsを使用すると簡単なコマンドでNode.jsのバージョンを切り替えることができます。複数バージョンのNode.jsを使って開発しているという方は、手軽に始められるのでぜひ使ってみてください。