javascript - Puppeteer 无法在 Heroku 上运行

标签 javascript node.js heroku puppeteer

我在 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/

相关文章:

heroku - 如何解决 Heroku 部署上的 "Host key verification"错误?

java - Maven - 无法执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 7.0:使用 java 10 进行编译

javascript - 在 Jspm 中使用非 npm(遗留)javascript 库

javascript - Node.js 具有大量用户的可扩展/性能能力

javascript - 我没有在客户端上实时看到带有 Node js的json文件的值

javascript - if 语句 == 多个选项中的至少一个

node.js - Json Web Token verify() 返回 jwt 格式错误

ruby-on-rails - 是否可以从本地主机直接连接到 Heroku 数据库?

javascript - 如何从延迟对象 JQuery 中获取返回值

javascript - $animate addClass 在 Angular 1.3 中不起作用