前提
フロントとバックエンドのプロジェクトに分割したモノレポのアプリを作ろうとしたDockerを起動したところ下記のエラーが出た。
ront-1 | yarn run v1.22.22
front-1 | $ vite
front-1 | /myapp/node_modules/rollup/dist/native.js:59
front-1 | throw new Error(
front-1 | ^
front-1 |
front-1 | Error: Cannot find module @rollup/rollup-linux-arm64-gnu.
@rollup/rollup-linux-arm64-gnu
というモジュールが見つからないとのことで、ローカルで依存関係を再インストールしてみたが解消されず。
そもそもpackage.jsonにはこんなモジュールを入れた覚えはなく調べたところ、Viteの依存関係として入ってくるようだった。
LinuxのARM64アーキテクチャに依存するモジュールで、Docker環境がARM64アーキテクチャで動作しているため必要になるらしい。
下記のコマンドで、フロントエンドのコンテナに依存関係をインストールしたら解消された。
docker-compose run --rm front yarn install
下記ページで他の方法も紹介されています。