Node.js 无法在Heroku上启动浏览器进程

Node.js 无法在Heroku上启动浏览器进程,node.js,api,heroku,deployment,puppeteer,Node.js,Api,Heroku,Deployment,Puppeteer,我用express和sulla(import Puppeter)作为核心节点构建了一个应用程序 基本上,我搜集了一些数据,然后使用sulla通过whatsapp发送它们。 它在本地上运行良好,但当我在heroku上部署它时,我面临以下问题: 无法启动浏览器 过程\n[0601/222716.792459:致命:受精卵宿主linux.cc(116)]否 可用沙箱!更新内核或查看 有关使用SUID沙盒开发的更多信息。如果你愿意 要想生活在危险之中,需要立即解决问题,你可以试试 使用——无沙箱。。。

我用express和sulla(import Puppeter)作为核心节点构建了一个应用程序

基本上,我搜集了一些数据,然后使用sulla通过whatsapp发送它们。 它在本地上运行良好,但当我在heroku上部署它时,我面临以下问题:

无法启动浏览器 过程\n[0601/222716.792459:致命:受精卵宿主linux.cc(116)]否 可用沙箱!更新内核或查看

有关使用SUID沙盒开发的更多信息。如果你愿意 要想生活在危险之中,需要立即解决问题,你可以试试 使用——无沙箱。。。。。。不会生成核心文件

故障排除:

我已经将以下构建包添加到我的heroku应用程序中:

https://github.com/jontewks/puppeteer-heroku-buildpack.git
heroku/nodejs
https://github.com/heroku/heroku-buildpack-chromedriver

我见过这样的解决方案,但我不能应用它,因为我没有直接使用木偶演员。或者清除heroku缓存而不成功。

除非您使用sulla当前的npm软件包,否则它在heroku上不起作用。正如链接的问题所说,您需要使用
--no sandbox
启动Puppeter(heroku不强制使用--disable setuid sandbox参数):

wait-puppeter.launch({args:['--no-sandbox']})
Sulla在npm包中缺少此参数

很好,您已经添加了构建包,如果Puppeter在后台作为依赖项运行,则需要这些构建包

I)如果适合您的需要,您可以尝试一种叫做sulla hotfix:的sulla叉子。这一个,显然包含
--无沙盒
启动参数

这对于sulla最初的项目来说是正确的。它可以在Heroku上使用构建包


II。)或者您可以在麻省理工学院许可下发布一个修改版的sulla,包含正确的启动参数。

谢谢!!在某种程度上,我设法让它运行另一个网页,我已经添加,认为这是铬只是回来2天后与苏拉有一个重大的错误。。。我已经切换到@open-wa/wa-automation。太好了,我很高兴它能运行。