LoginSignup
6
7

Windowsでnodejsの環境構築【安定感抜群】

Last updated at Posted at 2022-05-07

あらすじ

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.zipnvm-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

この時点で、多くの場合、npmrecomended versionでは無く、少し古いバージョンになっていると思います。

そこで、npmだけを更新するコマンドを実行します。

npm i -g npm

もう一度npm doctorを実行して、npm -vokになっていれば成功です。

もし、ここで他の項目にエラーが有れば、エラーが無くなるまでdoctorを繰り返し実行しながら、キレイな状態にしましょう。

まとめ

要点をまとめます。

  1. nvm-windowsをインストール
  2. 好きなバージョンのnodeをインストール
  3. その環境でnpmを更新
  4. npm doctor で診断

doctorがあるのは非常に心強いですね。cliを作る時、もしくは使う時にはdoctorコマンドの有無を重視してもいいかもしれません。

Excelsior!

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7