node.js のバージョンダウン

WordPress のブロックパターンを開発することになったので、色々と調べてみたら、2023年2月現在ではnode.js のバージョンを v1.6 で開発することになっているらしい。
ついつい、アップデートしてしまう癖のある私の Mac M1 の node.js のバージョンは v19.7.0 でした。
## WordPress のブロック開発には node.js は v1.6
ということで、Mac の場合、普通に node.js を入れていたら、バージョン管理は出来ないようです。。。
## node.js のバージョン管理を Mac でするなら homebrew が必要
で、色々と調べてみると、[homebrew](https://brew.sh/index_ja)　 を利用するとバージョン管理ができるそうです。
ここで言う、バージョン管理とは、必要な時にバージョン変更をして node.js を使うと言うことです。
で、ここでは、[homebrew](https://brew.sh/index_ja) のインストール等はすでに終わっているものとして記事を書かせてもらいます。
まだ [homebrew](https://brew.sh/index_ja) をインストールされていない方は別の記事か、[homebrew](https://brew.sh/index_ja) のサイトで確認してみてください。
## homebrew で node.js のバージョン管理をする場合は2つ方法がある
調べてみたら、node.js のバージョン管理をする方法は二つあるみたいです。
* [Volta](https://formulae.brew.sh/formula/volta) [(公式サイト)](https://volta.sh/)
* [nodebrew](https://formulae.brew.sh/formula/nodebrew)

もしかしたら、他にも方法あるみたいですけど、この二つがメジャーな感じみたいです。特に nodebrew は日本人が開発されたようなので、日本ではドキュメントが多くあるみたいです。

日本人贔屓の私としては、nodebrew を使うことにしました。www
Volta も結構良いみたいです。
あと、注意ですがバージョン管理ツールは流石に二つ入れることは出来ないので、変更する場合は片方を一旦削除しないといけないので、注意が必要です。
## nodebrew をインストールして node.js をインストール
まずは、nodebrew をインストールするのですが、先に node.js を標準インストールしている場合は、削除する必要があります。
### 標準の node.js を削除する
まずは、node.js がインストールされているかの確認にバージョン確認をします。

```
$ node -v
v19.7.0
```
こんな感じで表示されたら、node.js がインストールされています。
```
$ node -v
zsh: command not found: node
```
こんな感じで表示されたら、node.jsはインストールされていません。
今、インストールされているnode.jsを削除するためにインストールされている場所を確認します。
```
$ which node
/usr/local/bin/node
```
node.js を削除します。
```
$ sudo rm -rf /user/local/bin/node
```
rootパスワードを聞かれると思いますので、パスワードを入力して削除は完了です。
念のために削除できているかの確認は上記のバージョン管理でしたら良いです。

また、npmも削除しておきます。
```
$ sudo rm -rf ~/.npm
```
### nodebrew をインストール
次に nodebrew をインストールします。
```
$ brew install nodebrew
```
で、ここで注意しないといけないのがインストール中に表示される以下のような表示の部分です。
```
You need to manually run setup_dirs to create directories required by nodebrew:
  /opt/homebrew/opt/nodebrew/bin/nodebrew setup_dirs

Add path:
  export PATH=$HOME/.nodebrew/current/bin:$PATH
```
この英語の文章をちゃんと読めば分かるのですが、手動で記載の処理の実行が必要と書かれています。
なので、言われるがままに、以下を実行します。
```
$ /opt/homebrew/opt/nodebrew/bin/nodebrew setup_dirs
```
そして、zshの実行ファイルにパスを記載します。
```
$ vim ~/.zshrc
```
追記内容は上記に記載のこちら
```
export PATH=$HOME/.nodebrew/current/bin:$PATH
```
更新後、source を有効にします。
```
$ source ~/.zshrc
```
### node.js を nodebrew にインストール
以下のコマンドで最新の Node.js をインストール
```
$ nodebrew install-binary latest
Fetching: https://nodejs.org/dist/v19.7.0/node-v19.7.0-darwin-arm64.tar.gz
######################################################################################################################################################################################################### 100.0%
Installed successfully
```
これでインストールが成功です。

で、今回は古いバージョンも使えるようにしたいので、インストールできる一覧を確認します。
```
$ nodebrew ls-remote
〜
v16.0.0   v16.1.0   v16.2.0   v16.3.0   v16.4.0   v16.4.1   v16.4.2   v16.5.0
v16.6.0   v16.6.1   v16.6.2   v16.7.0   v16.8.0   v16.9.0   v16.9.1   v16.10.0
v16.11.0  v16.11.1  v16.12.0  v16.13.0  v16.13.1  v16.13.2  v16.14.0  v16.14.1
v16.14.2  v16.15.0  v16.15.1  v16.16.0  v16.17.0  v16.17.1  v16.18.0  v16.18.1
v16.19.0  v16.19.1  

v17.0.0   v17.0.1   v17.1.0   v17.2.0   v17.3.0   v17.3.1   v17.4.0   v17.5.0
v17.6.0   v17.7.0   v17.7.1   v17.7.2   v17.8.0   v17.9.0   v17.9.1   
〜
```
上記のように一覧が表示されます。ここでは、v16を使いたいので、以下のようにv16の最新版をインストールします。
```
$ nodebrew install v16.19.1
```
そして使えるバージョンのリストを確認します。
```
$ nodebrew list
v16.19.1
v19.7.0

current: none
```
そして、使うバージョンは以下のように指定します。
```
$ nodebrew use v16.19.1
use v16.19.1
```
これで、使っているバージョンが v16.19.1 となります。一番最初に説明したバージョン確認などを使って確認してみてください。