Chromium puppeeter 不再在 AWS Beanstalk 上工作

0 linux chromium node.js amazon-elastic-beanstalk puppeteer

我们已将 Chromium 配置为在 AWS beanstalk 上打开 PDF。直到最近它都工作得很好。这是出现的新错误:

{“statusCode”:400,“message”:“无法启动浏览器进程!\n/var/app/current/node_modules/puppeteer/.local-chromium/linux-901912/chrome-linux/chrome:加载时出错共享库:libatk-1.0.so.0:无法打开共享对象文件:没有这样的文件或目录\n\n\n故障排除:https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md \n","错误":"错误的请求"}

不知道是否与Beanstalk Linux配置有关。

为了让 chrome pupeteer 能够正常工作,我们使用了以下配置:

.ebextensions/chrome_pupeteer.config:

packages:
  yum:
    compat-libtiff3: []

commands:
  chrome:
    command: curl -k https://intoli.com/install-google-chrome.sh | bash
Run Code Online (Sandbox Code Playgroud)

在 .npmrc 中: unsafe-perm=true

你能帮我找到另一个解决方案吗?

谢谢

我尝试使用 yum 命令安装软件包:libatk-1.0.so.0 它不起作用:

2023-06-08 11:16:16,116 P7952 [INFO] 命令安装 2023-06-08 11:16:18,226 P7952 [INFO] -------------------- ---命令输出------------------------ 2023-06-08 11:16:18,226 P7952 [INFO] 已加载插件:extras_suggestions、langpacks、优先级, update-motd 2023-06-08 11:16:18,226 P7952 [信息] 没有可用的软件包 libatk1.0-0。2023-06-08 11:16:18,226 P7952 [INFO] 错误:无事可做 2023-06-08 11:16:18,226 P7952 [INFO] ----------------- ------------------------------------------- 2023-06-08 11: 16:18,227 P7952 [错误] 退出,错误代码为 1

小智 5

我遇到了同样的问题,但是将 PuppeteerSharp 与 .net core 6.0 一起使用。我在 .ebextensions 中使用了与您相同的 intoli install-google-chrome 脚本。这是我修复它的方法。将 chrome_puppeteer.config 更改为

commands:
  chrome:
    command: sudo amazon-linux-extras install epel -y && sudo yum install -y chromium
Run Code Online (Sandbox Code Playgroud)

然后,如果您在代码中将 PUPPETEER_EXECUTABLE_PATH 设置为环境变量,请将其更改为:

/usr/bin/chromium-browser
Run Code Online (Sandbox Code Playgroud)

最后,如果您使用 PuppeteerBrowserFetcherDownloadAsync方法,则不必这样做。

似乎已安装的 Chrome 版本缺少新的依赖项(或更多)。经过一番研究后,我发现先安装 AWS EPEL(企业 Linux 额外包),然后安装 Chromium 可确保所有依赖项均存在,并且与 AWS 实例配合良好。上述内容也适用于 EC2 实例。