調べたところWindowsではNodist一択のように見えたのでNodistを導入しました。

marcelklehr/nodist
[LOOKING FOR A MAINTAINER :) ] Natural node.js and npm version manager for windows. - marcelklehr/nodist

[LOOKING FOR A MAINTAINER :) ]とあるので、今後のメンテナンスはちょっと怪しいかもですね。

READMEを見てみるとインストーラー経由、もしくはChocolateyを使うと書いてありまして、Chocolateyって何?と疑問に思うに至りました。

Chocolatey - The package manager for Windows
Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

調べてみた感じWindowsのパッケージマネージャということで、homebrewみたいなもんだと思っておけばいいのかなと思いました。

Chocolaty導入

まずはChocolateyを導入しました。手順は↓。

Installation

いくつか方法があるようですが、僕は管理者として実行したPowerShellに以下を貼り付けて実行しました。

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

chocoコマンドをインストールできました。

$ choco
Chocolatey v0.10.11
Please run 'choco -?' or 'choco <command> -?' for help menu.

Nodist導入

$ choco install nodist
Chocolatey v0.10.11
Chocolatey detected you are not running from an elevated command shell
 (cmd/powershell).

 You may experience errors - many functions/packages
 require admin rights. Only advanced users should run choco w/out an
 elevated shell. When you open the command shell, you should ensure
 that you do so with "Run as Administrator" selected. If you are
 attempting to use Chocolatey in a non-administrator setting, you
 must select a different location other than the default install
 location. See
 https://chocolatey.org/install#non-administrative-install for details.


 Do you want to continue?([Y]es/[N]o):

(↑Hugoの処理のせいか想定外の{1}がなぜか入ってしまいます…)

これでYを押して進めても管理者権限がないのでインストールを完了できませんでした。なのでConEmuを起動するときに右クリックメニューから「管理者として実行」し、再度同じコマンドを実行したらインストールが完了しました。

Nodeのインストール

先程管理者として実行していたConEmuを閉じ、ユーザー権限でConEmuを開いておきます。

この状態でnodistを実行すると↓となります。あれ、すでに7系が入っていますね…。Nodistと一緒に入るのかもしれないです。

$ nodist
  (x64)
> 7.2.1  (global: v7.2.1)

ではここに8系のバージョンを追加してみます。

$ nodist + 8

+というのがサブコマンドらしく、バージョンも一緒に指定するとインストールされます。

$ nodist + 8

8.11.4

$ nodist
  (x64)
> 7.2.1  (global: v7.2.1)
  8.11.4

8.11.4が入りました。

最後にglobalとして使うバージョンを切り替えます。

$ nodist global 8
8
Default global pacakge update dsuccessful.

$ nodist
  (x64)
  7.2.1
> 8.11.4  (global: 8)