フロントエンドの開発をやっている中で、既存のプロジェクトをクローンしてきた時に問題が起こりました。 yarn
したら途中でエラーになる。どうやら zmq
ライブラリがコンパイルできていないようです。M1 Macに変えたばかりなので「もしかしてzmq
はM1対応してないのかな〜」とも思いましたが、もしそうだとしたらお手上げなので地道に調べることにしました。
結論
事前に依存ライブラリをインストールする!
エラーメッセージ
エラーメッセージは次の通りです。
error /Users/{myName}/develop/vue/o-GreenCheck/frontend/node_modules/zeromq: Command failed.
(略)
Building libzmq...
/Users/{myName}/develop/vue/o-GreenCheck/frontend/node_modules/zeromq/build/Release/../../script/build.sh: line 60: cmake: command not found
make: *** [libzmq/lib] Error 127
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/{myName}/.anyenv/envs/nodenv/versions/14.16.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Darwin 20.4.0
gyp ERR! command "/Users/{myName}/.anyenv/envs/nodenv/versions/14.16.1/bin/node" "/Users/{myName}/.anyenv/envs/nodenv/versions/14.16.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/{myName}/develop/vue/o-GreenCheck/frontend/node_modules/zeromq
対策
ZeroMQ.jsのリポジトリを見ると事前にインストールしておかなければならないものがあるようです。上のエラーではcmake: command not found
と出ているのでインストールします。
brew install cmake
(略)
==> Summary
🍺 /opt/homebrew/Cellar/cmake/3.20.2: 6,468 files, 67.5MB
もう一度yarn
してみると、、、
✨ Done in 88.35s.
成功しました!