node.js - 当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:在本地开发设置中工作正常。
解决方案
推荐阅读
- minizinc - Minizinc:车间问题,尽量减少花费太长时间
- wordpress - 如何在页眉中发布 WordLift 的 JSON-LD
- c# - 当 WCF 服务托管在 Windows 服务中时读取 TNSNAMES.ORA
- sql-server - SQL Server 2008R2:SET ANSI_NULLS OFF 不影响与空值的合并匹配
- windows - 任务“GenerateAppxPackageRecipe”失败。指定的模块无法找到
- pymunk - pymunk - 跳闸段
- c++ - 如何在 QStackedLayout 中强制渲染底层小部件
- javascript - 重试时编辑查询字符串参数
- git - git 子模块总是分离的,即使在跟踪分支时
- asp.net-core - 为 asp.net core MVC 2.2 保存的 Sqlite 数据库在哪里?