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

Heroku部署Node+Puppeteer报错:无法找到Chromium

Heroku部署Puppeteer找不到Chromium的解决方案

1. 调整构建包顺序

Heroku构建包的执行顺序直接影响Chromium的安装,必须先添加官方Node.js构建包,再添加Puppeteer专用构建包。执行以下命令:

heroku buildpacks:clear
heroku buildpacks:add heroku/nodejs
heroku buildpacks:add jontewks/puppeteer

2. 手动指定Chromium路径

在你的index.js中明确指定Heroku上Chromium的固定安装路径,同时保留必要的启动参数:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--no-sandbox', '--disable-setuid-sandbox'],
    // 强制指定Heroku环境下的Chromium路径
    executablePath: '/app/.apt/usr/bin/google-chrome-stable'
  });
  // 你的业务代码逻辑
})();

3. 修正package.json配置

确保Puppeteer版本与缺失的Chromium版本(1056772)匹配(对应Puppeteer 19.x系列),同时避免跳过浏览器安装:

{
  "dependencies": {
    "puppeteer": "^19.0.0"
  },
  "scripts": {
    "start": "node index.js",
    "postinstall": "npm install puppeteer"
  }
}

4. 清除缓存重新构建

缓存残留可能导致旧版本Chromium干扰,执行以下操作重置构建环境:

heroku builds:cache:purge
git commit --allow-empty -m "触发缓存清理后的重新构建"
git push heroku main

5. 配置环境变量(可选)

通过环境变量统一管理Chromium路径,避免代码硬编码:

heroku config:set PUPPETEER_EXECUTABLE_PATH=/app/.apt/usr/bin/google-chrome-stable

之后代码中可以改为:

executablePath: process.env.PUPPETEER_EXECUTABLE_PATH

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:35:17