あらすじ
Windowsのローカル環境でnodejsを使って開発を行いたいときのベストプラクティスを紹介します。
dockerやWSLを使うのが理想ですが、「マシンスペック的にVMを起動すること自体がおっくうな場合」もしくは、「Windows Server Core などを本番環境に使用する予定」などのための記事とします。
2022年4月現在の最新情報です。
筆者は現在、Voltaをメインで使用しています。nvm
は使っていません。
前提
下記ソフトウェアがインストール済みとします。
- Windows 10 or Later
- Powershell 7 or Later
もし、他のnodejs用のバージョン完了ツールや、nodejs公式のインストーラーを使用したインストールが行われている場合、事前に全て消しましょう。特に、環境変数は厄介なので、慎重に確認して消しましょう。筆者は、ProgramFilesが2個あることに気が付かず時間を無駄にしました。
やること
やることは、下記の通りです。
-
nvm
のインストール -
node
のインストール -
npm
の更新
環境変数path
は、nvm
についてはnvm
のインストーラーが、それ以外はnvm
のコマンドで、それぞれ自動的に設定されます。
nvm
nvm
をインストールしましょう。
公式サイトからインストールする場合は、こちらからnvm-setup.zip
をダウンロードします。
Linux と Mac 用のnvmとは別の開発者によるソフトウェアです。設計思想を始め、完全な互換性は無いことに留意してください。
nvm-update.zip
やnvm-noinstall.zip
など別の利用方法も用意されていて親切ですね。
chocolateyを使ってもいいと思います。その場合は下記のコマンドを使います。
choco install nvm
上記のzipファイルを解凍するとnvm-setup.exe
が入っているので、ウィザードに従ってインストールを進めていきます。この時の注意点として 「インストール中に指定できるディレクトリは、空白文字を含めないように変更」 する必要があります。nvm use
が空白文字を含むディレクトリを処理できないため、エラーになります。しかもこの時のエラーメッセージは 文字化け しているため、非常に厄介です。
最終的に、筆者の環境変数は下記の表の状態になりました。
環境変数path
には、%NVM_HOME%
と%NVM_SYMLINK%
が追記されていました。
環境変数名 | 値 |
---|---|
NVM_HOME | C:\Users\who\AppData\Roaming\nvm |
NVM_SYMLINK | C:\nodejs |
node
nvm
のインストールが終わったら、node
をインストールしましょう。nvm install
というコマンドで好きなバージョンをインストールすることができます。このとき、メジャーバージョンで16などを指定すれば、そのマイナーバージョンは最新が入ります。直接nvm install 16.14.2
などと細かく指定することもできます。
nvm install 16 # node のLTSバージョンは現在16なので16をインストール
上手くいったら、次にnvm use 16.14.2
として、インストールしたnodejsの中から使うものを指定します。
nvm use 16.14.2
npm
node
のインストールが終わったら、npm
を更新しましょう。現在使用しているnode
の環境に存在しているnpm
コマンドが使えるようになっているはずです。
まず、診断コマンドを実行します。
npm doctor
この時点で、多くの場合、npm
のrecomended version
では無く、少し古いバージョンになっていると思います。
そこで、npm
だけを更新するコマンドを実行します。
npm i -g npm
もう一度npm doctor
を実行して、npm -v
がok
になっていれば成功です。
もし、ここで他の項目にエラーが有れば、エラーが無くなるまでdoctor
を繰り返し実行しながら、キレイな状態にしましょう。
まとめ
要点をまとめます。
- nvm-windowsをインストール
- 好きなバージョンのnodeをインストール
- その環境でnpmを更新
- npm doctor で診断
doctor
があるのは非常に心強いですね。cli
を作る時、もしくは使う時にはdoctor
コマンドの有無を重視してもいいかもしれません。
Excelsior!