M1 MacへのNodejs 14.xのインストール

2021年6月14日 2021年8月26日

この記事では、M1 Mac上のnvmでx86_64版のNodejs 14をインストールする方法を紹介します。

最近、M1 Mac miniを購入しましたので、デスクトップ開発環境を移行しました。移行前は、2015年のMacBook Proを利用していたので、とても快適になりました。

一方、まだまだARM Nativeで動かず、Rosetta2に頼らないといけないソフトウェア等もありました。 nvmでインストールするNodejsもその一つです。nvmのnodejs 15未満はARMに対応していません。 本ブログを構築しているGatsbyもNodejs 14が推奨になっていますので、なんとか稼動するx86_64版のNodejs 14をインストールする必要があります。

以降では、Nodejs 15以降をarm64版で、Nodejs 15未満をx86_64版でインストールしていきます。

nvmのインストール

nvmは、Node.js の複数バージョンのインストール・切り替えを管理するツールです(Pythonでいうpyenvのようなもの)。 nvmをインストール済の場合は、このセクションを飛ばして問題ありません。

基本的にnvm公式のインストールに従います。

以下コマンドでnvmをインストールします。

Terminal
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

以下を~/.zshenvに追記してnvmをロードします。

˜/.zshenv
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Nodejsの安定版のインストール

まずは、Nodejsの安定版(現時点では、v16.3.0)を以下コマンドでインストールします。

Terminal
nvm install v16.3.0
nvm use v16.3.0

以下コマンドで安定バージョンかつARMで動作していることを確認します。

Terminal
node --version
# v16.3.0

node -p process.arch
# arm64

x86_64版のnodejs 14.xのインストール

以下コマンドにて、x86_64でzshのプロセスを起動します。

Terminal
arch -x86_64 /bin/zsh

x86_64で起動したzsh上でnodejs 14をインストールします。 今回はv14.17.0をインストールします。

Terminal
nvm install v14.17.0

以下コマンドでx86_64版のzshプロセスを終了します。

Terminal
exit

以下コマンドでNodejsをv14.17.0に切り替えてx86_64版で動作していることを確認します。

Terminal
nvm use v14.17.0
# Now using node v14.17.0 (npm v6.14.13)

node --version
# v14.17.0

node -p process.arch
# x64

もちろん、以下のようにARMに対応しているv16.3.0に切り替えるとarm64版で動作していることが確認できます。

Terminal
nvm use v16.3.0
# Now using node v16.3.0 (npm v6.14.13)

node --version
# v16.3.0

node -p process.arch
# arm64

終わりに

この記事では、nvmでNodejs 15以降はarm64版、Nodejs 15未満はx86_64版をインストールする方法を紹介しました。 これで、arm64、x86_64の切替を意識せずにNodejsを利用できるようになりました。満足です。

早くRosetta2を使わずに、ARM Nativeですべてが動作するようになると嬉しいですね。

Posted by mako
関連記事
コメント
...