🎉

Mac M2でCannot find module'./sentry_cpu_profiler-darwin-x64-131.nodeエラー

に公開

Error: An error occurred while loading instrumentation hook: Cannot find module './sentry_cpu_profiler-darwin-x64-131.node'
Require stack:

チーム開発してた際にM2 Macを使用しているメンバーが複数いたが、その際に一人だけ上記のエラーでbuildできないとの報告を受けた際の調査記録です。

結論

エラーとなっていた人はx86のNodeを使用していたためエラーとなっていた。
Arm64のNodeに切り替えたらエラーは出なくなった。

調査

下記のissueでライブラリの衝突などではないかとのコメントがあった。
https://github.com/getsentry/profiling-node/issues/171

which nodeで調べたがチーム内で差異はなし。

 which node
/account_name/.volta/bin/node

uname -mでアーキテクチャを調べると動いてない人はx86になってた。

正常に動いてた人
uname -m
arm64

動いてなかった人
uname -m
x86_64

arch のコマンドで調査


正常に動いている人はx86_64はバージョンが出てない。
arch -x86_64 node -v
arch: posix_spawnp: node: Bad CPU type in executable

arch -arm64 node -v 
v22.13.1

動いてなかった人は両方ともバージョンが出る。
arch -x86_64 node -v
v22.13.1
arch -arm64 node -v 
v22.13.1

上記の結果がわかったので、nodeenvでインストールされていたnodeを削除し、voltaから再インストールしたら解消しました。

buildなどが遅いのでdockerなどはあまり使わないようにしてましたが、こういう時は面倒ですね。

Discussion