Windows環境でNode.jsのバージョンを管理したい!

おつかれさまです。ならたけぽんです。🐇

いやぁ、2023年が明けちゃいましたね!
謹んで新年のお慶びを申し上げます!🌅
本年もどうぞよろしくお願いいたします!🎍

せっかく新しい年になったので、
心機一転、何か新しいことを始めてみたいですよね。

あれやこれや、やりたいことは多々ありますよね~。
個人的には、今年こそ、魚を三枚におろせるようになりたいんですよね~。🐟

ただ、ここはエンジニアブログ。
魚をおろすのに奮闘する私の醜態をさらしてもしょうがない。

🤔🤔😵😍

では、せっかくなので、
AWS CDK v2で、
新しくAWS環境でも構築してみましょう!!!🛠️

いざ、本題へ!!!✨

と言いながら、今回は準備編です。

AWS CDK v2を使用するには、事前にNode.jsの設定が必要になります。

私はメインの作業PCがWindowsなので、
Windows版VSCodeで作業することが多いです。
そこで、WindowsにNode.jsをインストールしちゃって、
せっかくなので、一緒に
Node.jsのバージョン管理もしちゃおう、というお話しです。

今回は、Node.jsの公式ページにも記載のある、
「Scoop」という名前のコマンドラインインストーラーで、
Node.jsのバージョンを管理してみます。

手順は多いように見えますが、1行ずつのコマンドを叩くだけ。

Let's Try !!! 🐱

※Node.js公式はこちら
 Node.js公式
※Scoop公式はこちら
 Scoop公式



 🐾 手順1!:インストール済の「Node.js」を削除します!

 ・「Scoop」管理外のインストール済「Node.js」をすべて削除します。
 ・「Node.js」の公式ページからダウンロードしたWindows版インストーラーを使って、
  「Node.js」をインストールしていた場合も、同様に削除します。
  ※既存の「Node.js」が残っていると、そちらが優先されてしまう場合があり、
   「Scoop」でのバージョン管理がうまくいかず、泣きます😭(経験者は語る)。



🐾 手順2!:PowerShellを起動します!

 ・次の手順で、PowerShellのコマンドを叩く必要があるので、PowerShellを起動します。
 ・PowerShellのインストールがお済みで無い方は、PowerShell公式ページ等を参照して、
  インストールを実施ください。
  ※個人的には、PowerShell公式ページ記載の、
   Windows版インストーラーでのインストールが楽でした。
  ※PowerShell公式ページはこちら
   PowerShell公式ページ



🐾 手順3!:PowerShellのコマンドを実行します! (スクリプト実行許可)

 ・次の手順で、リモートスクリプトを実行する必要があるので、
  PowerShellで以下のコマンドを実行し、
  現在のユーザーでのスクリプト実行を許可します。

> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser


🐾 手順4!:PowerShellのコマンドを実行します! (「Scoop」インストール)

 ・PowerShellで以下のコマンドを実行し、リモートスクリプトを実行し、
  「Scoop」をインストールします。
  ※レイアウトの関係で折り返して表示されますが、実際は1行で実行します。

> Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')


🐾 手順5!:「Scoop」をアップデートします!

 ・PowerShellで以下のコマンドを実行し、「Scoop」をアップデートします。

> scoop update


🐾 手順6!:「Scoop」を使用して、「nvm」をインストールします!

 ・PowerShellで以下のコマンドを実行し、「Node Version Manager(以下、nvm)」を
  インストールします。
 ・「nvm」は、その名のとおり、「Node.js」のバージョンを管理してくれます。

> scoop install nvm


🐾 手順7:「Scoop」を使用して、「nvm」をアップデートします!

 ・PowerShellで以下のコマンドを実行し、「nvm」をアップデートします。

> scoop update nvm


🐾 手順8:「nvm」を使用して、現在の「Node.js」インストール状況を確認します!

 ・PowerShellで以下のコマンドを実行し、現在の「Node.js」インストール状況を確認します。
 ・「Node.js」がまだインストールされていない場合は、バージョンが表示されません。
 ・「*」と「(Currently using 64-bit executable)」の記載のあるバージョンが、
  現在の「Node.js」のバージョンになります。
 ・その他のバージョンは、インストール済のバージョンになります。
  ※以下例は、「16.10.0」が有効なバージョンとなっている例になります。

> nvm list

  * 16.10.0 (Currently using 64-bit executable)
    16.5.0
    11.15.0


🐾 手順9:「nvm」を使用して、現在利用可能な「Node.js」のバージョンを確認します!

 ・PowerShellで以下のコマンドを実行し、現在利用可能な「Node.js」のバージョンを
  確認します。
 ・バージョン、これでも一部なんですが、結構いっぱい出力されます。
  目移りしますねぇ。😵
  ※以下例は、この記事を作成した時点でのバージョンの例になります。

> nvm list available

|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    19.3.0    |   18.12.1    |   0.12.18    |   0.11.16    |
|    19.2.0    |   18.12.0    |   0.12.17    |   0.11.15    |
|    19.1.0    |   16.19.0    |   0.12.16    |   0.11.14    |
|    19.0.1    |   16.18.1    |   0.12.15    |   0.11.13    |
|    19.0.0    |   16.18.0    |   0.12.14    |   0.11.12    |
|   18.11.0    |   16.17.1    |   0.12.13    |   0.11.11    |
|   18.10.0    |   16.17.0    |   0.12.12    |   0.11.10    |
|    18.9.1    |   16.16.0    |   0.12.11    |    0.11.9    |
|    18.9.0    |   16.15.1    |   0.12.10    |    0.11.8    |
|    18.8.0    |   16.15.0    |    0.12.9    |    0.11.7    |
|    18.7.0    |   16.14.2    |    0.12.8    |    0.11.6    |
|    18.6.0    |   16.14.1    |    0.12.7    |    0.11.5    |
|    18.5.0    |   16.14.0    |    0.12.6    |    0.11.4    |
|    18.4.0    |   16.13.2    |    0.12.5    |    0.11.3    |
|    18.3.0    |   16.13.1    |    0.12.4    |    0.11.2    |
|    18.2.0    |   16.13.0    |    0.12.3    |    0.11.1    |
|    18.1.0    |   14.21.2    |    0.12.2    |    0.11.0    |
|    18.0.0    |   14.21.1    |    0.12.1    |    0.9.12    |
|    17.9.1    |   14.21.0    |    0.12.0    |    0.9.11    |
|    17.9.0    |   14.20.1    |   0.10.48    |    0.9.10    |

This is a partial list. For a complete list, visit https://nodejs.org/download/releases


🐾 手順10:「nvm」を使用して、「Node.js」をインストールします!

 ・PowerShellで以下のコマンドを実行し、選択したバージョンの「Node.js」を
  インストールします。
  ※以下の例は、「18.11.0」のバージョンの「Node.js」をインストールした際の
   例になります。

> nvm install 18.11.0
Downloading node.js version 18.11.0 (64-bit)... 
Extracting...
Complete


Installation complete. If you want to use this version, type

nvm use 18.11.0


🐾 手順11:「nvm」を使用して、「Node.js」を有効化します!

 ・PowerShellで以下のコマンドを実行し、インストールしたバージョンの「Node.js」を
  有効化します。
  ※以下の例は、「18.11.0」のバージョンの「Node.js」を有効化した際の
   例になります。

> nvm list

    18.11.0
  * 16.10.0 (Currently using 64-bit executable)
    16.5.0
    11.15.0

> nvm use 18.11.0
Now using node v18.11.0 (64-bit)

> nvm list

  * 18.11.0 (Currently using 64-bit executable)
    16.10.0
    16.5.0
    11.15.0

 🔥Emergency!!!🔥

 ・あれ、なんか変な文字化けエラー出たんだけど。。。😱

> nvm use 18.11.0
exit status 1: ���̑��������s���邽�߂̏\���ȓ����������܂����B

 ・もしこんなエラーが出てしまっても、あきらめるのはまだ早い!
  PowerShellを管理者権限で実行して、再チャレンジしてみましょう!
  きっとあなたは🌈を見れるはず!

 ・起動中のPowerShellにて、以下コマンドを実行すると、別Windowで、
  管理者権限のPowerShellが起動します。
  そちらのWindowで、再チャレンジしてください!

> Start-Process powershell -verb runas


🐾 手順12:「Node.js」の動作を確認します!

 ・PowerShellで以下のコマンドを実行し、「Node.js」の動作を確認します。
 ・「Node.js」に対応した、「Node Package Manager(以下、npm)」も一緒に設定されます。
 ・「npm」は、その名のとおり、「Node.js」のパッケージを管理してくれます。
  ※以下の例は、「18.11.0」のバージョンの「Node.js」を確認した際の例になります。

> node -v
v18.11.0

> npm -v
8.19.2

 🔥Emergency!!!🔥

 
・何か、の~ど~ぉ?そんなコマンドなぞ無いわっ! って、怒られるんだけど。。。😱

%USERPROFILE%\scoop\apps\nvm\current\nodejs\nodejs

 ・ここのフォルダにパスをとおしてね!💋



長いようで短かった旅も、もう終わりです。
これで、Windows環境で、Node.jsのバージョン管理ができるようになりました!👍
バージョンを上げたり下げたり追加したり、思うがままです!

よし、この勢いで、AWS CDK v2もインストールするぞ!!!🌋

と行きたいところですが、この記事も長く長くなってしまったので、
今回はこのあたりでお開きといたしましょうか。
えぇえぇ、そうしまひょ。そうしまひょ。💦

良き良き、AWS CDKライフを!!!🌈