我在 heroku 上部署了一个应用程序,并添加了 Puppeteer Heroku buildpack。
重新部署成功后,我尝试运行它但失败了。使用 heroku logs -t
,我收到此错误消息:
2018-09-07T13:16:10.870497+00:00 app[web.1]: Error: Failed to launch chrome!
2018-09-07T13:16:10.870512+00:00 app[web.1]: [0907/131610.045486:FATAL:zygote_ho
st_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chro
mium.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.
最佳答案
这是对我有用的。首先,我清除了所有构建包,然后添加了 puppeteer-heroku-buildpack 和 heroku/nodejs 一个:
$ heroku buildpacks:clear
$ heroku buildpacks:add --index 1 https://github.com/jontewks/puppeteer-heroku-buildpack
$ heroku buildpacks:add --index 1 heroku/nodejs
然后,将以下参数添加到 puppeteer 启动函数:
const browser = await puppeteer.launch({
'args' : [
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
最后,将其部署回 Heroku:
$ git add .
$ git commit -m "Fixing deployment issue"
$ git push heroku master
关于javascript - Puppeteer 无法在 Heroku 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52225461/