【apple silicon】Error: spawn Unknown system error -86はarmアーキテクチャーが原因だった

【apple silicon】Error: spawn Unknown system error -86はarmアーキテクチャーが原因だったのイメージ node.js

ode+puppeteerのプログラムがエラーで動かなくなりました。
↓「Error: spawn Unknown system error -86」で動作しないことがわかります

node:internal/errors:484
    ErrorCaptureStackTrace(err);
    ^

Error: spawn Unknown system error -86
    at ChildProcess.spawn (node:internal/child_process:413:11)
    at Object.spawn (node:child_process:743:9)
    at BrowserRunner.start (/tmp/test/puppeteer/node_modules/
puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:121:34)
    at ChromeLauncher.launch (/tmp/test/puppeteer/node_modules/
puppeteer/lib/cjs/puppeteer/node/ChromeLauncher.js:76:16)
    at async /tmp/test/puppeteer/a.js:8:18 {
  errno: -86,
  code: 'Unknown system error -86',
  syscall: 'spawn'
}

Node.js v18.8.0

puppeteerは以下で起動しています。

await puppeteer.launch({ 
args: [ "--no-sandbox","--guest"] });

Intel Macではこのままでも動作していました。node_moduleを更新してみますが状況は変わりません。

調査した結果「bad CPU type in executable」が原因でした。

呼び出そうとしているpuppeteer内蔵のChrome.appがbad CPU typeで実行できなくなっています。

Rosetta2がうまく機能してくれないようなので通常のChromeを利用する方法に変更します。

await puppeteer.launch({ 
channel:'chrome',
args: [ "--no-sandbox","--guest"] });

channel:’chrome’で/Applications/Google Chrome.appを利用することができます。

コメント

タイトルとURLをコピーしました