Windows 7にNode.jsをインストールする


スキル洗い替えのために「[vue.jsとfirebaseで作るミニWebサービス](https://booth.pm/ja/items/829853)」なる技術本を購入しました。
Mac推奨だったのですがWindowsに環境構築して(いつも通り)落とし穴に落ちました。無駄な時間を過ごす人が少しでも減るように、まっさらな状態にインストールする手順をば。

ざっくり云うと「2018年8月現在Node.jsの安定版は8.11.4であり書籍で使用しているのは6.1。複数バージョンのNode.jsを扱うためにはバージョン管理マネージャをインストールする必要があり、そのバージョン管理マネージャの管理にはパッケージ管理ツールが便利で、そのパッケージ管理ツールが正常に動くためにはPowerShellの最新版が必要」という流れです。


#はじめに

1.目的
・複数バージョンのNode.jsの開発環境をWindows7に構築する
・更新があってもなるべく楽にできるように便利ツールを使う

2.環境とか  
    - マシン環境
        - Microsoft Windows 7 Professional SP1 (x64)   
    - ソフトウェア 
        - [PowerShell](https://docs.microsoft.com/ja-jp/powershell/scripting/powershell-scripting?view=powershell-6)    
        - [Chocolatey](https://chocolatey.org/)  
        - [nvm-windows](https://github.com/coreybutler/nvm-windows)
        - [Node.js](https://nodejs.org/ja/)  

3.作業の流れ
　1.下準備
　　・Powershellのバージョンの確認
　　　- 古かったら最新にする(.NET Framework 4.5.2とWMI5.1をインストール)
　2.パッケージ管理ツール(Chocolater)のインストール
　3.バージョン管理システム(nvm-windows)のインストール
　4.Node.jsのインストール(書籍のバージョンと最新バージョン！)

#インストール

###1.PowerShellのインストール###

#####1. バージョン確認#####
　プログラムとファイルの検索に[ISE]と入力。Windows PowerShell ISEを管理者権限で起動
　![00.png](https://qiita-image-store.s3.amazonaws.com/0/81855/4bf2412e-6930-f342-5909-6eb18e352416.png)

　　**$PSVersionTable**と入力しバージョンを表示。PSVersionが5.1か確認。(この場合2.0)

```
PS C:\> $PSVersionTable
Name                           Value                                                                                 
----                           -----     
CLRVersion                     2.0.50727.8789                                                              
BuildVersion                   6.1.7601.17514                                                              
PSVersion                      2.0                                                                         
WSManStackVersion              2.0                                                                         
PSCompatibleVersions           {1.0, 2.0}                                                                  
SerializationVersion           1.1.0.1                                                                     
PSRemotingProtocolVersion      2.1

```

#####2. 最新版のPowerShellをインストール#####
 　(**PSVersion**が**5.1**と表示されていない場合)最新版をMSよりダウンロードしてインストールします。Winsows7の場合は.NET Framework 4.5.2とWMI5.1。ダウンロードは[こちらから](https://docs.microsoft.com/ja-jp/powershell/wmf/5.1/install-configure)



###2.Chocolaterのインストール###
　パッケージ管理システム**Chocolater**をインストールします。何をするツールか？とかは[こちら](https://qiita.com/konta220/items/95b40b4647a737cb51aa)が参考になります。

#####1. コマンドプロンプトを管理者モードで起動#####
　　スタート｜すべてのプログラム｜アクセサリ｜コマンドプロンプトを右クリックし「管理者として実行」をクリック

#####2. [chocolateyのサイト](https://chocolatey.org/install)記載されているコマンドをコピー#####
　　![04.png](https://qiita-image-store.s3.amazonaws.com/0/81855/89948ac3-30b4-ff22-d19e-16fcc88fabc1.png)

#####3.コマンド プロンプトにペーストして実行#####
```
C:\Windows\System32>@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
```

#####4. コマンドプロンプトを終了#####
　有効にするためにコマンドプロンプトの再起動が必要なので一度終了します(**重要！**)
　　

###3.nvm-windowsのインストール###
　Windows用のバージョン管理システム**nvm-windows**をインストールします。**Nodist**もよく使われているようですが、最近更新が止まっているようなので**nvm-windows**で。

#####1.コマンドプロンプトを管理者モードで起動#####
　　スタート｜すべてのプログラム｜アクセサリ｜コマンドプロンプトを右クリックし「管理者として実行」をクリック
#####2.chocolateyを使いインストール#####
コマンドプロンプトに「**choco install nvm -y**」と入力し実行

```
C:\Windows\System32>choco install nvm -y
```
![06.png](https://qiita-image-store.s3.amazonaws.com/0/81855/f67226dc-5e58-6a76-4337-a8136977d154.png)

#####3.コマンドプロンプトを終了#####
nvmを有効にするため、再度コマンドプロンプトを再起動します(**……重要！**)

###4.Node.jsのインストール###
本体のNode.jsのインストール

#####1.コマンドプロンプトを管理者モードで起動#####
　　スタート｜すべてのプログラム｜アクセサリ｜コマンドプロンプトを右クリックし「管理者として実行」をクリック

#####2.Node.js 6.1をインストール#####
　コマンドプロンプトから**nvm install 6.1**と入力し実行

```
C:\nvm install 6.1
```

#####3.Node.js 8.11.4もインストール#####
　コマンドプロンプトから**nvm install 8.11.4**と入力し実行

```
C:\nvm install 8.11.4
```

![07.png](https://qiita-image-store.s3.amazonaws.com/0/81855/4f75c3d4-e175-28d6-1041-c46e57957b1b.png)


#####4.Node.jsのバージョンを切替える#####
6.1を使う場合：コマンドプロンプトに**nvm use 6.1**と入力し実行
8.11.4を使う場合：**nvm use 8.11.4**と入力し実行


```
C:\nvm use 6.1
C:\nvm use 8.11.4
```

6.1を入れたけど、バージョン差異による問題が発生するまで、8.11.4を使うことにしました。
![08.png](https://qiita-image-store.s3.amazonaws.com/0/81855/f4f86fbb-e467-cd15-94f7-083e8b838da0.png)


インストールは以上です。

#もろもろ
・必要なバージョンのNode.jsをダウンロードしてインストールしたら即使用できます。お試しで開発するならばそれで良い気もします。最新バージョンは[ホーム](https://nodejs.org/ja/)から、古いバージョンは[リリース一覧](https://nodejs.org/ja/download/releases/)からダウンロードできます。
・vue.jsとfirebaseで作るミニWebサービスは8.11.4でも問題なく動きました。


#参考URL
・[Windows における Node.js バージョン管理マネージャの選択（nvm-windows, nodist 等）](http://blog.clock-up.jp/entry/2018/02/10/nodejs-manager-on-windows)
・[Windows版 Node.js環境構築方法まとめ](https://qiita.com/maecho/items/ae71da38c88418b806ff)
・[Chocolateyを使った環境構築の時のメモ](https://qiita.com/konta220/items/95b40b4647a737cb51aa)
・[WMF 5.1 のインストールと構成](https://docs.microsoft.com/ja-jp/powershell/wmf/5.1/install-configure)
・[Windows Power Shell をアップデート！Windwos7 に Power Shell 5.1をインストール]
(http://memories.zal.jp/WP/blog/20180208_2959.html)