安装 Puppeteer 时跳过 Chromium 下载

2019-07-19
标签: PUPPETEER

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 重新安装。

如果您对本站内容有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: PUPPETEER

欢迎转载本文,惟请保留 原文出处 ,且不得用于商业用途。
本站 是个人网站,若无特别说明,所刊文章均为原创,并采用 署名协议 CC-BY-NC 授权。