[英]How do I deploy Puppeteer onto Heroku?
无论出于何种原因,我都无法将 puppeteer 正确部署到 heroku。 它构建,但是当我运行它时,我得到应用程序错误页面。 当我检查日志时,我得到:
2020-09-09T22:44:38.942371+00:00 app[web.1]: (node:4) UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process!
2020-09-09T22:44:38.942389+00:00 app[web.1]: [0909/224438.137880:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
这告诉我 1) 浏览器因任何原因无法启动,以及 2) 没有沙箱。
我使用的基本代码是这样的:
const browser = await puppeteer.launch(
{
headless: false,
args: ["no-sandbox", "--disable-setuid-sandbox"],
});
如您所见,我已经尝试了在 SO 上看到的无沙盒选项。 我试过将 headless 设置为 true 和 false,没有区别。
这是我在 Heroku 上的 webpack。
https://github.com/jontewks/puppeteer-heroku-buildpack
https://github.com/heroku/heroku-buildpack-google-chrome
heroku/nodejs
我需要更多吗? 我需要一个专门用于 Chromium 的吗?
好的,首先我有一个错字。 它是--no-sandbox
。
其次,我必须在 Heroku 上下载一个名为 heroku-buildpack-chrome-headless 的新 webpack。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.