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 を利用するとバージョン管理ができるそうです。
ここで言う、バージョン管理とは、必要な時にバージョン変更をして node.js を使うと言うことです。
で、ここでは、homebrew のインストール等はすでに終わっているものとして記事を書かせてもらいます。
まだ homebrew をインストールされていない方は別の記事か、homebrew のサイトで確認してみてください。
homebrew で node.js のバージョン管理をする場合は2つ方法がある
調べてみたら、node.js のバージョン管理をする方法は二つあるみたいです。
もしかしたら、他にも方法あるみたいですけど、この二つがメジャーな感じみたいです。特に 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 となります。一番最初に説明したバージョン確認などを使って確認してみてください。