Puppeteer 包含的 Chromium 因为体积过大,我们在升级 Puppeteer 时,希望可以跳过 Chromium 重新安装,本文介绍这种方法。 下载Chromium 默认情况下,下载 puppeteer 的同时,执行 $ npm i puppeteer 会自动下载 Chromium,在命令行里会看到下面的日志: Downloading Chromium r672088 - 108 Mb [========== ] 49% 25.7s Chromium downloaded to /你的路径 看到这些,这说明 Chromium 已经下载完成。 另外,如果本地已经有了 Chrome/Chromium 或者 准备用远程的 Chrome/Chromium,可以只安装 Puppeteer的核心功能。运行下面的命令: $ npm i puppeteer-core 这样安装的 puppeteer 将不包含 Chromium 二者关系 Puppeteer是在Chromium上层的脚本,以 CDP 协议控制 Chromium 的行为。二者关系大致如下图。 跳过下载Chromium 由于 Chromium 体积过大(>100M),有时候本地已经安装了Chromium,在后续升级 Puppeteer 时,不需要重新下载Chromium,这时候需要跳过 Chromium 的下载。 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 跳过的方法是: $ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm i puppeteer 其实,只要有 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 这个环境变量存在(无论其值是不是 true ),都不会下载 Chromium. 跳过的时候,会提示下面的文字 **INFO** Skipping Chromium download. "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" environment variable was found. 注意 如果第一次安装 Puppeteer 的时候,使用了 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 环境变量,那么安装的 Puppeteer 中不会包含 Chromium. 这是即使删除 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 变量(unset),再次执行 npm i puppeteer 命令也不会重新下载 Chromium了,需要删除 puppeteer 重新安装。