Windows で NodeJS を使う

記事
IT・テクノロジー

Windows で NodeJS を使う

NodeJS は基本的に、コマンドラインで利用するアプリです。Windows のコマンドラインは、Linux や MacOS とは違うタイプの物を使っています。この記事では、Windows で NodeJS を使う場合について紹介しています。


Web 開発でよく利用される NodeJS

NodeJS に含まれている「npm」、Javascript のパッケージ管理のためのアプリです。 NodeJS を使わなくても、Web 開発は可能ですが、Vue や React などを利用して開発する場合、殆どの場合は、パッケージ管理のアプリを使って開発するのが一般的です。 この連載でも、Vue を利用するやり方として、NodeJS に含まれる、「npm」を利用するやり方を以前の記事で紹介しています。

「npm」を利用すると、Vue や React などのフレームワークの仕組み以外にも、インターネット上で公開されている沢山の基本機能のパッケージ(モジュール)も簡単に自分の開発プロジェクトに取り込んで利用する事ができます。こうした、理由もあって「npm」は Web 開発では広く利用されているアプリになっています。

「npm」を含めてソフトウエアの開発用のアプリの多くが、「Unix」という OS をベースに開発されていて、無料で公開されています。Linux や MacOS は、Unix ベースの OS なので余り問題はないのですが、Windows は、少し系統の違う OS なので若干の違いがあります。

この記事では、Windows で Web 開発を行う場合のやり方についてもう少し詳しく解説しています。

一般的な NodeJS のインストール方法

一番シンプルな方法は、NodeJS のサイトからインストールパッケージをダウンロードしてインストールする方法です。 最近の PC の場合は、殆どの CPU が 64 ビットの CPU を使っているので、殆どのケースでは、「Windows installer(.msi)」の「64-bit」をダウンロードして、ダウンロードしたファイルをダブルクリックしてインストールするのが一番簡単な方法です。

「npm」など、コマンドラインのアプリを使う場合には、Windows の場合「コマンドプロンプト」か「Windows PowerShell」を利用するのが一般的です。 Windows10 では、スタートボタンから、「Windows PowerShell」を選択するのが一般的ですが、「Node.js」から「Node.js command prompt」を選択する方法もあります。ここで注意が必要なのは、「Windows PowerShell」を利用する場合です。

「Windows PowerShell」には、「execution policy」というコマンド実行の制限が設定されています。従って、Web 開発などで利用する際は、以下のコマンドを「Windows PowerShell」で実行して、制限を解除しておいた方が良いかと思います。

$ Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
このコマンドを実行すると、現在の実行したユーザーに関しては、実行の制限を「バイパス」するように設定が変更されます。

「npm」自体の実行には余り問題はないのですが、他のコマンドで影響が出る場合があります。また、コマンドライン上で使うコマンドも Unix 系のコマンドとは同じでない場合も多いので、インターネットの情報を見て何かする場合に混乱する場合も多くなります。

Windows で Linux を使う方法がある!

そこで、Web 開発には Linux を使うという方法があります。 方法としては、古い PC に Linux をインストールして使うという方法や、Windows 上で動作する仮想マシン(VM:Virtual Machine)に Linux を入れて使う方法などがあります。

ただ、インストールや設定が面倒なので、初心者には少しハードルが高い事が問題になります。

そこで、お勧めしたいのが、WSL(Windows Subsystem for Linux)です。 これは、Windows の機能として、Linux を動かす機能を少し前にリリースされた Windows10 からサポートされている機能です。この機能を利用すれば、Windows 上でも Linux のコマンドラインの機能を使う事ができます。

Window10 のバージョンによって、設定のやり方が若干違います。2022 年 3 月現在での最新版(21H2)は、簡単に設定できるようになっているので、まずは、Windows10 を最新版にアップデートしてください。

あとは、Windows PowerShell を管理者モード(Administrator)で開きます。Windows PowerShell のメニューでマウスの右ボタンをクリックして、「Run as Administrator」で開きます。 あとは、以下のコマンドを実行すると、インストールが実行されます。

$ wsl --install
インストール実行後に Windows を再起動して、Linux のユーザー名とパスワードを指定すると利用できるようになります。 標準設定では、「Ubuntu」という Linux がインストールされます。実行の際に別の Linux を指定することも可能ですが、Ubuntu はインターネット上に情報も多く利用しやすい Linux なので、特に好みがない場合には、Ubuntu をそのまま利用する事をお勧めします。

これで、Windows 上で Linux が利用できるようになります!

NodeJS のインストールのやり方が違う!

ここで「Linux」上で NodeJS を利用する場合には、インストールの方法が違ってきます。 Ubuntu の Linux のコマンドライン上で NodeJS を利用するには、以下の方法でインストールします。

$ sudo apt install nodejs
$ sudo apt install npm 
これが一番シンプルな方法ですが、特定のバージョンをインストールしたい場合などは、以下のような流れでインストールします。少し手間がかかりますが、新しいバージョンを使いたい場合などは、こちらの方法を使うことになります。

実際にインストールされているバージョンを知りたい場合には、以下のコマンドで確認できます。

$ node --version
$ npm --version
詳細は、英語のサイトになりますがこちらのサイトで紹介されています。

2022 年 3 月現在の LTS(安定サポート版)は、「v16.14.x」です

Ubuntu に NodeJS の「v16.x」をインストールするコマンドは以下の通りです。

$ sudo apt install curl
$ curl -fsSL  h t t p s://deb.nodesource.com/setup_16.x | sudo -E bash -
$ sudo apt-get install -y nodejs
これで NodeJS がインストールされました。 インストールされているバージョンを確認するには以下のコマンドを実行します。

$ node --version
v16.14.2
$ npm --version
8.5.0
$

開発に利用するエディタを何にするかですが、Windows で WSL を利用して Linux を利用する場合には、マイクロソフトが無料で提供しているエディタ「VSCODE」を利用することをお勧めします。VSCODE を Windows にインストールしておくと、WSL の Linux のコマンドラインから VSCODE を起動する事が可能です。 起動したいフォルダに移動して、「code .」と入力すると、そのフォルダを開いてくれます。

さらに、VSCODE 上で、「ターミナル」を開くと、Linux のコマンドラインを選択する事も可能です。標準設定では、「PowerShell」が選択されていますが、ターミナルの画面で利用するコマンドラインのプログラムを選択できます。

WSL 上のファイルを Windows で見るには、File Explorer で、

「\\wsl$」

を指定すると WSL のファイルを見る事ができます。

WSL から Windows のファイルを見たい場合には、

/mnt/c/

で Windows の C ドライブを見る事ができます。

例えば、Windows のユーザー名が「guest」で、WSL の Linux のユーザー名も同じ「guest」の場合には以下のコマンドを実行すると、Windows の「Documents」を WSL のホームフォルダとして使う事ができるようになります。

$ ln -s /mnt/c/Users/guest/Documents /home/guest/Documents
(*)WSL のコマンドプロンプトで実行

こうすることで、Windows からも、WSL 側からも同じフォルダを使うので便利です。

まとめ

Windows のコマンドラインは、Linux や MacOS とは少し違っています。 Web 開発をする場合、サーバーの多くが Linux を利用している事を考えると、Linux に慣れておいた方が有利です。NodeJS に含まれる、「npm」を利用するだけならば余り大きな違いはありませんが、将来の拡張を考えると WSL を利用して、Linux を利用する事をお勧めします。

WSL を利用すると、Windows でも簡単に Linux を利用できて、将来的に Linux や MacOS に移行する際も簡単です。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す