macをお使いの方はnodenvやnodebrewでNode.jsのバージョン管理をするそうですが、WindowsユーザーのわたしもついにNode.jsのバージョン管理をするときがやってきました!
しかしWindowsにはNode.jsのバージョン管理をする良いツールがありません。※長くアップデートされていないツールばかり。
WLS2にubuntuを立てる方法も検討していたのですが、めちゃくちゃ難しい…
そこで、今回はscoopを使ったバージョン管理を試してみました!
scoopとは?
apt-getやhomebrewのような、パッケージマネージャーで、コマンドでいろいろインストールするのを助けてくれるツールです。
githubによると、2021年もアップデートが続いている模様です。
古いバージョンのインストールや、バージョン切り替えの操作ができるので今回使います!
scoopのインストール
基本的にQiita記事の通りにやっていきます!
PowerShellで下記のコマンドを使ってインストールします。
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
成功すると「Scoop was installed successfully!」と出ますが、

だいたいは失敗してこうでます。
PowerShell requires an execution policy in [Unrestricted, RemoteSigned, ByPass] to run Scoop.
For example, to set the execution policy to ‘RemoteSigned’ please run :
‘Set-ExecutionPolicy RemoteSigned -scope CurrentUser’
言われた通り、このコマンドをPowerShellに入れます
Set-ESet-ExecutionPolicy RemoteSigned -scope CurrentUser
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は “N”):
いろいろ言われますが、Yで大丈夫です。
Y
複数のバージョンのNode.jsを入れる
scoopのコマンドからNode.jsのインストールをします。
ただ、このコマンドをはじめて打ったときは
scoop search node

選べるバージョンが少ないです。普通のNode.jsだと、LTS(安定版)と最新版の2種類しかありません。
複数のバージョンをインストールできるようにする
scoopのversion機能を使えるようにします。
scoop bucket add versions

複数のバージョンのNode.jsをインストールする
もう一度こちらのコマンドを実行してみましょう。
scoop search node

versionsとして、nodejs11などの昔のバージョンが見えるようになりました!
今回は、最新版とv11をインストールしたかったので下記のコマンドを実行します。
scoop install nodejs nodejs11

Node.jsのバージョンを切り替える
とりあえず今のバージョンを確認してみましょう。
node -v

ひとつ前に入力したコマンドで、最後に書いたバージョンが現在のバージョンになっているはずです。
では、最新バージョンに切り替えます。
scoop reset nodejs

これで、切り替わりましたのでバージョンを確認してみましょう。
node -v

他のバージョンにしたいときはこんな感じで戻します。
scoop reset nodejs11
これで無事に、Node.jsのバージョンを簡単に切り替えることができるようになりました!!
どのバージョンがインストールされているか探す
バージョン切り替え時には、どのバージョンをインストールしていたか思い出す必要がありますね。
そんな時はコチラ。
scoop list nodejs

コメント