先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章 。
正文开始:
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 重新安装。
如果您对本文有疑问或者寻求合作,欢迎 联系邮箱 。邮箱已到剪贴板
精彩评论
本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/puppeteer-skip-download-chromium/ ,且不得用于商业用途。