【node.js】Windowsにnodenvを導入してみる。(前編)

【node.js】Windowsにnodenvを導入してみる。(前編)

2021年6月7日

こんにちは!現在もりけん塾で、JavaScriptの勉強をしているにゃっつです。
5月末に行われたもりけん塾の勉強会でnode.jsの環境構築について学びました。

正直いままでGulpの構築でしかnode.jsを使った事がなく、
しかもGulpの関係上node.jsのバージョンを上げられない事から
ずっとバージョン管理をしていませんでした。

始めての事だらけ+Windowsへの導入は1癖2癖もあったので、
まずは導入の部分についてまとめました。

長くなったので、
前編:nodenvをインストールするための環境づくり、
後編:anyenvを使ってnodenvをインストールするまで
と分けました。

WindowsにDLするために必要な環境構築

Windows上でnodenvを利用するためには、
nodenvが動く環境を構築する必要があります。
nodenvはそもそもmacOSで動くものなので、Windows上で動く環境を作ってあげないと利用できないツールです。

今回私が構築した環境は下記になります。
PCの環境:Windows10 Pro (バージョン20H2:OSビルド 1904.985) 
WSL2:Windows上でサブサブシステムとしてLinuxを動かせるようにするツール。
    サブシステムとして起動しているから、Linuxのコマンドが簡単に使えるようになる。
Ubuntu:Linux使いやすくするために、ライブラリ、アプリなどを組みあわせて作られたLinuxのOS。

1. Windowsのエディションを確認する

WSLは仮想環境上で動くので、仮想化(Hyper-V)にWindowsのOSが対応していることが必須となります。
現状Windows10には4つのOSエディションがあり、HomeのみHyper-V対応していません。
Homeの場合はまずWindows10 Proにアップグレードする必要があります。

OSのエディションの確認方法
Windowsキー+Rを押して「ファイル名を指定して実行」を開きます。
名前のところに「winver」を入力してOKをクリック。

そうするとWindowsのバージョン情報が表示されます。
赤枠の2つを確認します。


WSLをインストールするにはエディション以外にも下記のOSのバージョンが必要となります。
x64(Windows10 64bit版)の場合: バージョン 1903 以降、OSビルド 18362 以上。
こちらのバージョンは➀の赤枠で確認することができます。

➁の赤枠がエディションとなります。
両方の仕様を満たしていた場合WSLをインストールすることができます。

WSLのインストール要件
・Windows10 x64 バージョン1903、OSビルド18362
・Windows10 Pro以上のエディション

2.仮想化の有効化

要件確認できたので、さっそくインストールと行きたいのですが、
あと2つ程確認しておく必要があります。

① Windowsの機能でHyper-Vが有効になっているか
➁ BIOSで仮想化テクノロジ (VTx)が有効になっているか
こちらの2つが有効になっていないと仮想環境を作ることができません。
※ 私はHome → Proに挙げたためかどっちも無効になっていました。
※ PC購入時にProを選択している場合は両方有効になっている可能性があるので、
  いきなりインストールしてみてもいいと思います。

➀ Hyper-Vの機能が有効かの確認方法
Windows ボタンを右クリックし、[アプリと機能] を選択します。

関連設定にある、「プログラムと機能」をクリックします。
左側にある[Windows の機能の有効化または無効化] を選択します。
下記画面の「Hyper-V」に✅が入っている事を確認します。


➁ BIOSで仮想化テクノロジ (VTx)が有効になっているか
BIOSを触るのはリスクが伴うため、必ず自己責任で。
下手したら初期化、もしくは動かなくなることもあるので、
触るさいは慎重に。

こちらは下記の記事を参考に有効化しました。
https://pc-farm.co.jp/pc_column/pc/2140/
https://support.hp.com/jp-ja/document/c04773368

これで一通りの確認ができたので、
WSLをインストールしていきます。

WSLをインストールしてWSL2にアップデート

WSL2をインストールする手順

➀Linux 用 Windows サブシステムを有効化
➁仮想マシンの機能を有効化
③Linux カーネル更新プログラム パッケージをダウンロードし、既定バージョンに

1. Linux 用 Windows サブシステムを有効化

WSLをインストールする前に、Windowsサブシステムを有効化します。
管理者としてPowerShellを開き、下記のコードを実行します。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. 仮想マシンの機能を有効化

引き続きPowerShellに下記コードを実行し、仮想マシンの機能を有効化します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

実行後、「再起動」を行い、WSLのインストールが完了します。

3. Linux カーネル更新プログラム パッケージをダウンロードし、既定バージョンに

先程インストールしたのはWSLのため、WSL2に更新する必要があります。
下記サイトよりWSL2のパッケージをダウンロードします。

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#step-4—download-the-linux-kernel-update-package

ダウンロード後実行し、管理者としてのアクセスを求められるので「はい」を選択しインストールをします。
インストールしただけではWSL2は使用できないので、
WSL2を規定のバージョンに設定します。

管理者権限で開いたPowerShellに下記コードを実行します。

wsl --set-default-version 2

これでWSL2のインストールが完了し、使用できるようになりました。

Linux ディストリビューション「Ubuntu」をインストール

今回Linux ディストリビューションは「Ubuntu」をインストールしました。
nodenvをインストールする方法を調べていて、一番利用されていたOSだったので。
UbuntuはMicrosoft Storeから手に入れます。
検索で「Ubuntu」と入力すると3つのバージョンがでてきます。
今回私は20.04のバージョンのUbuntuをインストールしました。

インストールが完了すると、起動のボタンになるので、
Ubuntuを起動します。

初回はインストールのため数分かかるとメッセージがでますが、
終わるとsuccessfulと表示され、
usernameとPWの設定を要求されます。

インストールが完了したら、
「Ubuntu」を最新の状態にするために、
下記のコマンドを実行します。

sudo apt update && sudo apt upgrade -y

こちらの設定完了で一先ずの環境構築は完了となります。

まとめ

勉強会の内容に触れられなかった前編ですが、
Windowsはやっぱり一手間かかると改めて思いました。

この一手間のおかげで理解が深まる部分もあるのですが、
数日時間を費やしたので、
macに切り替えたいという熱が再熱。。。

次はnodenvのインストールについてまとめます。

最後まで御覧頂きありがとうございました。

参考記事:

コマンド wsl --install を使用して Linux 用 Windows サブシステムをインストールします。 Windows コンピューター上で、好みの…
docs.microsoft.com
WSLでUbuntuを導入し、Linuxbrew、anyenvで開発環境を作成する手順
changeofpace.site
Windows Subsystem for Linux で Linux を実行しているときに発生する一般的なエラーと問題について詳しく説明します。
docs.microsoft.com

現在もりけん塾に参加し、JavaScriptの課題に取り組んでいます!
素敵な先生と塾生に囲まれて切磋琢磨な日々を送っています。

森田先生のBLOG:無骨日記
Twetter:@terrace_tech

毎日7時に「おはようございます」の記事で投稿しています。ブロガーです。 先輩芸人の運転手していた29歳の頃、芸人の中でも何か一芸を身に付けたいと思い、初海外単身…
kenjimorita.jp