🍎

M1 Mac で nodenv から Intel 版 Node.js をインストール

2022/03/14に公開

最近になって M1 Mac 入手したので環境構築の tips をメモ。

Node.js v16 以上では M1 Mac 向け arm64 バイナリが公式に提供されているが、v15 以下では提供されていない。
M1 Mac で nodenv を使って Node.js をインストールする場合、v16 ではもちろん arm64 バイナリをダウンロードするが、v14 では x86_64 バイナリをダウンロードして Rosetta で動かすのではなく、ソースをダウンロードしてローカルでコンパイルが始まってしまう。
この挙動は厳密に arm64 バイナリが欲しい人には嬉しいかもしれないが、ちょっとした動作確認をしたいだけなのに数分かけてビルドされても困る。

そういう場合、arch コマンドを使うことで nodenv で x86_64 バイナリをインストールできた。

$ arch -x86_64 nodenv install 14.18.3

arch は、通常の Linux ではアーキテクチャ名を表示するだけのコマンドだが、M1 Mac では後続のコマンドを指定のアーキテクチャで実行するという特殊な機能を持っている。

$ arch -x86_64 zsh

などとやると、Rosetta でシェルを起動できるので覚えておくと便利。

Discussion