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

Jenkins Debian环境运行Puppeteer脚本找不到Chromium问题求助

解决方案:Puppeteer无法找到Chromium(rev.1095492)

核心问题分析

报错根源是Puppeteer 19.7.1需要对应版本的Chromium(rev.1095492),但当前环境未正确下载/配置该版本,同时存在chromedriver与Puppeteer版本不兼容的问题(chromedriver 108.0.0 对应Chromium 108,而Puppeteer 19.7.1依赖Chromium 109)。

分步解决步骤

1. 修复依赖版本不匹配

修改package.json中的chromedriver版本,使其与Puppeteer 19.7.1兼容:

"devDependencies": {
  "chromedriver": "^109.0.0",
  "date-and-time": "^2.4.1",
  "lighthouse": "^9.6.8",
  "log4js": "^6.7.1",
  "puppeteer": "^19.7.1"
}

2. 正确安装本地项目依赖

你用的npm install -g是全局安装,不会在项目本地node_modules中部署依赖,导致Puppeteer无法读取本地Chromium。替换为以下命令:

# 清理旧依赖文件
rm -rf node_modules package-lock.json
# 强制下载对应版本Chromium并安装本地依赖
PUPPETEER_SKIP_DOWNLOAD=false npm install

如果Jenkins网络受限,可通过国内镜像加速:

PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors PUPPETEER_SKIP_DOWNLOAD=false npm install

3. 调整缓存路径与权限

Jenkins运行用户可能无/root/.cache/puppeteer的读写权限,可指定项目内的缓存目录:

  • 在执行脚本前添加环境变量:
export PUPPETEER_CACHE_DIR=/var/lib/jenkins/workspace/你的项目名/.puppeteer-cache
  • 或在代码中直接指定Chromium路径:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: './node_modules/puppeteer/.local-chromium/linux-1095492/chrome-linux/chrome'
  });
  // 后续业务代码
})();

4. 补充系统依赖

已安装的系统依赖基本完整,可补充安装部分环境缺失的库:

apt-get install -y libxshmfence-dev

最终Jenkins执行脚本示例

将执行流程调整为:

1. apt-get update
2. apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev libxshmfence-dev
3. rm -rf node_modules package-lock.json
4. PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors PUPPETEER_SKIP_DOWNLOAD=false npm install
5. npm run MyScriptName

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:55:34