首页 > 解决方案 > 当Heroku中的product = firefox时Puppeteer不工作

问题描述

我做了什么 :

我使用这些参数在 Heroku 中部署了我的应用程序

await puppeteer.launch({ product:'firefox',defaultViewport: null, args: ['--no-sandbox', '--disable-setuid-sandbox'] });

为 Heroku 添加了这个 buildpack:

https://github.com/jontewks/puppeteer-heroku-buildpack

我已经添加了

"preinstall": "PUPPETEER_PRODUCT=firefox npm install puppeteer"

在 package.json 中用于下载 firefox 依赖项。

当我尝试将其用于屏幕截图时,从日志中获取此错误

Error: Failed to launch the browser process! 2020-11-08T12:45:03.392222+00:00 app[web.1]: XPCOMGlueLoad error for file /app/node_modules/puppeteer/.local-firefox/linux-84.0a1/firefox/libxul.so: 2020-11-08T12:45:03.392224+00:00 app[web.1]: libXt.so.6: cannot open shared object file: No such file or directory 2020-11-08T12:45:03.392224+00:00 app[web.1]: Couldn't load XPCOM. 2020-11-08T12:45:03.392225+00:00 app[web.1]: 2020-11-08T12:45:03.392225+00:00 app[web.1]: 2020-11-08T12:45:03.392226+00:00 app[web.1]: TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md 2020-11-08T12:45:03.392226+00:00 app[web.1]: 2020-11-08T12:45:03.392226+00:00 app[web.1]: at onClose (/app/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:193:20) 2020-11-08T12:45:03.392227+00:00 app[web.1]: at Interface.<anonymous> (/app/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:183:68) 2020-11-08T12:45:03.392227+00:00 app[web.1]: at Interface.emit (events.js:326:22) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Interface.close (readline.js:416:8) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Socket.onend (readline.js:194:10) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Socket.emit (events.js:326:22) 2020-11-08T12:45:03.392229+00:00 app[web.1]: at endReadableNT (_stream_readable.js:1223:12) 2020-11-08T12:45:03.392229+00:00 app[web.1]: at processTicksAndRejections (internal/process/task_queues.js:84:21)

PS:在本地开发设置中工作正常。

标签: node.jsherokufirefoxpuppeteerscreenshot

解决方案


推荐阅读