Dockerの中でのnode実行でExec format errorが発生する
code: log
0.333 > tsdown
0.333
0.348 /app/node_modules/.bin/node: 17: /app/node_modules/.bin/../node/bin/node: Exec format error
0.357  ELIFECYCLE  Command failed with exit code 126.
前提
nodejsのバージョンはpnpmで管理している
code: package.json
"devEngines": {
"runtime": {
"name": "node",
"version": "v24.6.0",
"onFail": "download"
}
},
解決
.dockerignoreにnode_modulesを追加する
dockerfileにCOPY . .が入っていたので、カレントディレクトリにあるファイルがコピーされるが、.dockerignoreにnode_moduleの記載が無かったためnode_moduleもコピーされていた
その中にpnpmによってインストールされたnodeのバイナリも含まれている
ホストマシン(darwin)のnodeバイナリはdockerイメージのアーキテクチャと互換性がないためエラーが出ていた
#2026Feb