❤️🩹
M1チップのmacOSでError: Cannot find module '*/cli-darwin-x64/*'が発生した
biomeを使っていた際、謎すぎるエラーと遭遇したので備忘録として残します。
今回遭遇したエラー
Error: Cannot find module '@biomejs/cli-darwin-x64/biome'
このエラー、開発慣れしている人なら違和感に気付くかもしれませんが、「macOS (Intel) 用のCLIバイナリが存在しない」というものです。
...自分のPC環境はM1チップなのに
遭遇当初は下記の記事に行き着き、「ライブラリの衝突」というよくわからないものが原因なのかと理解し、環境構築をし直す等の対応をして何も解決しませんでした
Mac M2でCannot find module'./sentry_cpu_profiler-darwin-x64-131.nodeエラー
[Bun]実行時に Cannot find module *-darwin-x64
というエラーが表示される - Qiita
原因と解決策
1つ目の記事のこの記述が核心でした。
正常に動いてた人
uname -m
arm64
動いてなかった人
uname -m
x86_64
uname -m
がx86_64
ということは「Rosetta 2経由で実行されている状況」らしいです。
そのため
- Rosettaで実行状態を解除
- arm64シェルを強制的に起動
のどちらかの方法で解決できます。
自分の場合はRosettaでの実行状態ではなかったので、下記コマンドを使った後者の手段でarm64の状態に変えることができ、無事に適切な環境構築をすることができるようになりました。
Rosetta確認方法
arch -arm64 zsh
追記:x86_64環境の原因がわかりました
arm64ではなくIntel版のhomebrewをインストールしており、その状態でzellijを実行していたため、ターミナル環境がIntel版になっていたみたいです
Discussion