やりたいこと
nodistでNode.jsのバージョンを切り替えてローカル環境開発したい
事象
バージョン確認してみる
一見して問題ないように見える
PS C:\Users\take> nodist -v
0.9.1
PS C:\Users\take> npm -v
6.4.1
PS C:\Users\take> node -v
v10.15.3
PS C:\Users\take>
nodistでインストールしているNode.jsを確認してみると
あれ?node -v
コマンドだとv10.15.3だったはずなのにnodistで入ってるNode.jsは11.13.0ってことになってる。
PS C:\Users\take>nodist
(x64)
> 11.13.0 (global: v11.13.0)
PS C:\Users\take>
nodistでバージョンを変えてみると
nodistでバージョンを変えてv6.9.2にしたはずなのにやっぱりnode -v
だとv10.15.3が表示される
PS C:\Users\take> nodist add v6.9.2
6.9.2 [===============] 18078/18078 KiB 100% 0.0s
6.9.2
PS C:\Users\take> nodist v6.9.2
v6.9.2
v6.9.2 (global)
PS C:\Users\take> nodist
(x64)
> 6.9.2 (global: v6.9.2)
11.13.0
PS C:\Users\take> nodist npm match
npm match
https://codeload.github.com/npm/cli/tar.gz/v3.10.9 [============== ] 3057/3281 KiB 93% 0.1s
PS C:\Users\take> node -v
v10.15.3
PS C:\Users\take>
原因
私は以前にこの方法でローカルに直接Node.jsをインストールしていて、環境変数にもnode
コマンド打つとC:\Program Files\nodejsにあるnode.exeが反応するようになってしまっているからでした。
環境変数を見てみるとシステム環境変数のPath変数に確かにC:\Program Files\nodejsが登録されてます。これが原因でした。
nodistのREADME.mdにはこう書かれています。
Nodist was designed to replace any existing node.js installation, so if node is already installed on your machine, uninstall it first.
【訳】Nodistは、既存のnode.jsインストールを置き換えるように設計されていますので、nodeがすでにマシンにインストールされている場合は、まずそれをアンインストールしてください。
対処
Node.jsのアンインストール
Windowsの[スタート]からNode.jsフォルダの中にある[Uninstall Node.js]をクリックします。
アンインストールしますか?と聞かれるので[はい]をクリックします。
1分くらいでアンインストールが完了します。
C:\Program Files\nodejsフォルダも環境変数も自動で削除されました。
確認
大丈夫そうです。
PS C:\Users\take> node -v
v6.9.2
PS C:\Users\take> nodist
(x64)
> 6.9.2 (global: v6.9.2)
11.13.0
PS C:\Users\take>