Кукловод не запускается на macOS (слишком длинный путь к сокету)

#javascript #node.js #macos #puppeteer

#язык JavaScript #node.js #macos #кукольник

Вопрос:

Я использую следующий сценарий для запуска экземпляра кукловода:

 const puppeteer = require('puppeteer');  (async () =gt; {  const browser = await puppeteer.launch({  headless: false, // show the browser  devtools: true, // open dev tools  defaultViewport: null, // ensure that browser viewport fills the window  args: [  '--disable-web-security', // disable CORS (be careful)  ],  });   // navigate to the Angular page  const page = await browser.newPage();  page.goto('http://localhost:4200'); })();  

После обновления до macOS Monterey при запуске скрипта я получаю следующую ошибку:

 UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process! [86046:259:1202/104944.082215:FATAL:process_singleton_posix.cc(246)] Check failed: SetupSockAddr(path, addr). Socket path too long: /var/folders/qy/dsjty77j5p545xnfk2mp3j6m0000gn/T/com.apple.shortcuts.mac-helper/.org.chromium.Chromium.G3zxw9/SingletonSocket  

Это происходит с любым сценарием, который запускает Puppeteer в моей системе.

Похоже, что Puppeteer пытается запустить, используя путь конфигурации из экземпляра, который ранее был запущен ярлыками, и путь слишком длинный для пути сокета. Я все еще получаю ошибку, если я не запускаю скрипт с ярлыка.

В качестве временного исправления я предоставлял свойство ExecutablePath кукловоду:

 const browser = await puppeteer.launch({  ...  executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', });  

Это не идеально, но делает свое дело. Есть идеи, как я могу заставить Кукольника сбросить настройки, чтобы больше не использовать путь быстрого доступа?