You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Puppeteer部署到Elastic Beanstalk时启动浏览器失败求助

解决Elastic Beanstalk上Puppeteer启动浏览器失败的问题

核心问题分析

错误*spawn /usr/bin/google-chrome-stable ENOENT*说明服务器上找不到指定路径的Chrome/Chromium可执行文件——哪怕你代码里写的是/usr/bin/chromium,要么是实际路径不符,要么是服务器根本没安装Chromium。

具体解决步骤

1. 确认并安装服务器上的Chromium

登录Elastic Beanstalk实例,先执行命令查找是否已安装Chromium:

which chromium-browser
which chromium
which chrome

如果没有输出,说明未安装,以Amazon Linux 2为例,执行以下命令安装:

sudo amazon-linux-extras install epel -y
sudo yum install chromium -y

安装完成后再次用which命令确认实际路径,比如常见的/usr/bin/chromium-browser。

2. 修正代码中的配置

  • 把executablePath改成实际查到的路径;
  • 注意你代码里的IgnoreHTTPSErrors是错误写法,Puppeteer配置项为驼峰式小写开头,应改为ignoreHTTPSErrors,否则该配置不生效。

修正后的代码示例:

const browser = await puppeteer.launch({    
    headless: true,       
    executablePath: '/usr/bin/chromium-browser', // 替换为实际查到的路径
    ignoreHTTPSErrors: true,
    args: ["--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu", "--ignore-certificate-errors"],   
});

3. 配置Elastic Beanstalk自动安装Chromium

为了避免每次部署都手动操作,在项目根目录创建.ebextensions/install-chromium.config文件,内容如下:

packages:
  yum:
    chromium: []
commands:
  01_set_exec_permission:
    command: "chmod +x /usr/bin/chromium-browser"

这个配置会在环境部署时自动安装Chromium并赋予执行权限。

4. 验证版本兼容性

确保Puppeteer版本与服务器上的Chromium版本兼容,可在本地执行puppeteer --version查看对应的Chromium版本,再在服务器上安装匹配的版本,避免因版本不匹配导致启动失败。

内容的提问来源于stack exchange,提问作者Rabeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:09:23