M1 Mac に古い Node.js を入れてみました。
インストールコマンド 1 回では上手く行かなかったので、ログを残しておきます。
環境
- MacBook Air (M1, 2020)
- macOS Monterey 12.3
必要なもの
インストールログ
1 回目の nodenv install
まずは、nodenv
でv10.14.2
のインストールコマンドを打ってみます。
% nodenv install 10.14.2
Downloading node-v10.14.2.tar.gz...
-> https://nodejs.org/dist/v10.14.2/node-v10.14.2.tar.gz
WARNING: node-v10.14.2 is in LTS Maintenance mode and nearing its end of life.
It only receives *critical* security updates, *critical* bug fixes and documentation updates.
Installing node-v10.14.2...
BUILD FAILED (OS X 12.3 using node-build 4.9.67)
Inspect or clean up the working tree at /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518104724.1497.lq2MET
Results logged to /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518104724.1497.log
Last 10 log lines:
make: python: Command not found
make: python: Command not found
make: python: Command not found
make: python: Command not found
make: python: Command not found
make: python: Command not found
make: python: Command not found
make: python: Command not found
Missing or stale config.gypi, please run ./configure
make: *** [config.gypi] Error 1
エラーです。pyhon
コマンドが無いようです。
試しにpyhon
コマンドを打ってみると、やはりCommand not found
です。
% python
zsh: command not found: python
pyenv
経由でpython
コマンドを使えるようにしてみます。
バージョンは適当に3.9.12
を入れてみました。
% pyenv install 3.9.12
...略...
Installed Python-3.9.12 to /Users/zzzmisa/.pyenv/versions/3.9.12
% pyenv global 3.9.12
% python -V
Python 3.9.12
2 回目の nodenv install
python
コマンドが使えるようになったので、もう一度、node-v10.14.2
のインストールを試してみます。
% nodenv install 10.14.2
Downloading node-v10.14.2.tar.gz...
-> https://nodejs.org/dist/v10.14.2/node-v10.14.2.tar.gz
WARNING: node-v10.14.2 is in LTS Maintenance mode and nearing its end of life.
It only receives *critical* security updates, *critical* bug fixes and documentation updates.
Installing node-v10.14.2...
BUILD FAILED (OS X 12.3 using node-build 4.9.80)
Inspect or clean up the working tree at /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518112744.26380.O80Ms1
Results logged to /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518112744.26380.log
Last 10 log lines:
/var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518112744.26380.O80Ms1 ~
/var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518112744.26380.O80Ms1/node-v10.14.2 /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518112744.26380.O80Ms1 ~
Please use either Python 2.6 or 2.7
Missing or stale config.gypi, please run ./configure
make: *** [config.gypi] Error 1
今度はPlease use either Python 2.6 or 2.7
と怒られました。
指示通り、Python-2.7.18
を入れてみることにします。
% pyenv install 2.7.18
...略...
Installed Python-2.7.18 to /Users/zzzmisa/.pyenv/versions/2.7.18
% pyenv global 2.7.18
% python -V
Python 2.7.18
3 回目の nodenv install
v2.7.18
のpython
コマンドが使えるようになったので、再度node-v10.14.2
のインストールにチャレンジ。
% nodenv install 10.14.2
Downloading node-v10.14.2.tar.gz...
-> https://nodejs.org/dist/v10.14.2/node-v10.14.2.tar.gz
WARNING: node-v10.14.2 is in LTS Maintenance mode and nearing its end of life.
It only receives *critical* security updates, *critical* bug fixes and documentation updates.
Installing node-v10.14.2...
BUILD FAILED (OS X 12.3 using node-build 4.9.80)
Inspect or clean up the working tree at /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518134746.84851.zp8Ae1
Results logged to /var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518134746.84851.log
Last 10 log lines:
^
../deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-mb-x86_64.s:1127:8: error: invalid alignment value
.align 32
^
../deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-mb-x86_64.s:1435:1: error: unknown directive
.size aesni_multi_cbc_decrypt_avx,.-aesni_multi_cbc_decrypt_avx
^
make[1]: *** [/private/var/folders/66/s2sps6qn70j3_1bdp2_j_smh0000gn/T/node-build.20220518134746.84851.zp8Ae1/node-v10.14.2/out/Release/obj.target/openssl/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-mb-x86_64.o] Error 1
rm cc071fe07fee42c66e13fc8f3811a1f969a3db93.intermediate
make: *** [node] Error 2
あ、これは M1 Mac じゃだめ系のエラーみたいです。 x86_64
じゃないとコンパイルできなさそうな感じです。
現在のシステム情報を確認します。
% uname -mp
arm64 arm
arm64
なので、x86_64
に切り替えます。
% arch -x86_64 zsh
% uname -mp
x86_64 i386
4 回目の nodenv install
x86_64
に切り替わったので、今度こそはとnode-v10.14.2
のインストールコマンドを打ちます。
% nodenv install 10.14.2
Downloading node-v10.14.2-darwin-x64.tar.gz...
-> https://nodejs.org/dist/v10.14.2/node-v10.14.2-darwin-x64.tar.gz
WARNING: node-v10.14.2-darwin-x64 is in LTS Maintenance mode and nearing its end of life.
It only receives _critical_ security updates, _critical_ bug fixes and documentation updates.
Installing node-v10.14.2-darwin-x64...
Installed node-v10.14.2-darwin-x64 to /Users/zzzmisa/.nodenv/versions/10.14.2
入った!
あとはnodenv
で使用するバージョンを設定するだけです。
% nodenv local 10.14.2
% node -v
v10.14.2
使えるようになりました!