❤️‍🩹

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 -mx86_64ということは「Rosetta 2経由で実行されている状況」らしいです。
そのため

  • Rosettaで実行状態を解除
  • arm64シェルを強制的に起動

のどちらかの方法で解決できます。

自分の場合はRosettaでの実行状態ではなかったので、下記コマンドを使った後者の手段でarm64の状態に変えることができ、無事に適切な環境構築をすることができるようになりました。
Rosetta確認方法

arch -arm64 zsh

追記:x86_64環境の原因がわかりました

arm64ではなくIntel版のhomebrewをインストールしており、その状態でzellijを実行していたため、ターミナル環境がIntel版になっていたみたいです

Discussion