nodebrewでNode.jsをインストール（初心者向け）

## nodebrewとは
Node.js のバージョンを管理するツールです。 
## なぜNode.js のバージョンを管理するのか
それは Node.js が現在も開発中のプログラミング言語だからです。
日々様々な改善が行われ、新バージョンで機能が変更される、ということもあります。
今まで利用していた機能が、次のバージョンで使えなくなるということもあるのです。
そのようなことを防止するために、どのバージョンの Node.js を利用しているのかを明確にし、そして必要に応じてバージョンを切り替えたりできると便利なのです。
## nodebrewのインストール
#### …の前に豆知識（？）
ターミナルでコマンドを実行したけどきちんと処理されているの？
やたら時間が掛かっているけどいつ処理が終わるの？
…という方。
処理の後に、以下が出たら処理が終わった合図（次のコマンドを打っても良い）です。

```
自分のPCの名前 ~ % 
```
それではnodebrewのインストールを始めましょう。
#### 1.以下コマンドでnodebrew をインストールします。

```zsh:ターミナル
curl -L git.io/nodebrew | perl - setup
```
#### 2.ホームディレクトリ直下にnodebrewがインストールされました。

```zsh:ターミナル
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 24634  100 24634    0     0  10473      0  0:00:02  0:00:02 --:--:--  174k
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew

========================================
Export a path to nodebrew:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
```
#### 3.パスを通すために以下コマンドを実行します。
```zsh:ターミナル
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.profile
```
#### 4.上記を反映させるために以下コマンドを実行します（.profileの再読み込み）。

```zsh:ターミナル
source ~/.profile
```
#### 5.パスが通ったか確認するために以下コマンドを実行します。

```zsh:ターミナル
nodebrew
```
#### 6.以下のような情報（バージョン情報）が表示されたらnodebrewのインストール成功です。

```zsh:ターミナル
nodebrew 1.0.1

Usage:
    nodebrew help                         Show this message
    nodebrew install <version>            Download and install <version> (from binary)
...
```
## nodebrewでNode.jsをローカルインストール
#### …の前に豆知識（？）

* グローバルインストール  
自動的に実行ファイルをパスが通るのでパスを指定しなくて実行できる  
ただし、バージョンアップ等で、動作しなくなるプロジェクトが発生する場合があるので注意
* ローカルインストール  
プロジェクト単位でバージョンを管理できる  
プロジェクトごとなため、 容量がとられることがあるが、基本的にはローカルインストールを利用すべき

それではNode.jsのローカルインストールを始めましょう。
#### 1.node.jsとnpmをインストール
安定版([Node.js公式サイト](https://nodejs.org/ja/)に「推奨版」と記載があるバージョン)をインストールするコマンドです。
` nodebrew install` でインストールすると時間が掛かるので以下を実行してください。

```zsh:ターミナル
nodebrew install-binary stable
```
#### 2.インストールされたか確認するためにNode.jsのバージョンを調べます

```zsh:ターミナル
nodebrew ls
```
#### 3.以下のようにバージョン情報が表示されたらNode.jsのローカルインストール成功です

```zsh:ターミナル
v12.16.1

current: none
```
#### 4.どのバージョンを使用するか指定します（必須）

```zsh:ターミナル
nodebrew use v12.16.1
```
#### 5.完了
## パスが自動で通るように設定
上記の設定のままにしておくと、ターミナルを再起動するたびにパスを通さないといけなくなります。
それは大変なので、以下の設定を行います。
（Macの隠しファイルを表示する設定（ファインダーで「command + shift + . 」）にした方が作業しやすいですよ〜）
#### 1.~/.zshrc（ホームディレクトリ直下に手動で作成）に以下記述
vscodeなどのエディタで「.zshrc」のファイルを作成すればOKです。
環境によって「.bashrc」だったり「.zshrc」だったりするので確認してね。

```zsh:.zshrc
export PATH=$HOME/.nodebrew/current/bin:$PATH
```
#### 2.~/.profile（ホームディレクトリ直下にある）に以下記述

```zsh:.profile
source .zshrc
```
#### 3.完了

次回はgulpとgulp-sassの設定を行います。
* [GulpでSassをコンパイル（環境構築）](https://qiita.com/aya_omochimochimochi/items/9986d622163412a6409c)

#### 参考サイト

* [nodebrewでNode.jsをアップデートする](https://qiita.com/Sr_Bangs/items/bda855068576905a441f)
* [npm ローカルインストールとグローバルインストールについて](https://mebee.info/2019/11/02/post-3365/)
* [Node.js](https://www.nnn.ed.nico/contents/guides/97)
* [NodeBrewインストール編](https://qiita.com/ebisennet/items/15c3c9fdb04e66db6323)
* [nodebrewでNode.js( io.js )を管理する](https://qiita.com/sawapi/items/adfc11465d034f4f2cf9)
* [いきがってhomebrewからnodebrewに変更したら毎回nodeのPATHが通らずにげんなりした話](https://hirokonakahara.com/blog/?p=2176)