Apple SiliconのMacにnodebrewでNode.js14をインストールする方法

Apple SiliconのM1 Macにnodebrew でNode.js14をインストールしようとしたらひと手間必要だったのでメモです。

実はNode.js14もApple Silicon対応している

Node.js15からApple Silicon対応している のは知っていたので14は対応しておらずnodebrewでインストールできないのかと思っていたのですが、よくよく調べてみるとApple Silicon対応がバックポートされて 14.17.0 以降であればNode.js14もApple Silicon対応しているようです。

https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#14.17.0

しかしNode.js14系ではApple Silicon向けビルド済みバイナリが提供されておらず nodebrew install でインストールできないようです。

https://nodejs.org/download/release/v14.17.0/

ビルドする

nodebrewにはビルド済みバイナリを使ってインストールする nodebrew install とは別にソースコードからビルドする nodebrew compile というコマンドがあるのでそれを使ってビルドします。

$ nodebrew compile v14.18.1

ビルド済みバイナリを使ってインストールする場合は数秒で完了しますがソースからビルドするのでそこそこ時間がかかります。
手元で試した時には25分程度かかりましたが検索するともっと短い時間だった記述もちらほら見かけたのでビルド環境を最適化すると短くできるのかもしれません。

ビルド後はいつもどおり nodebrew use すればOK。

$ nodebrew use v14.18.1

arm64 なことが確認できます。

$ node -v
v14.18.1
$ node -p process.arch
arm64

関連URL