不同操作系统的 Puppeteer 安装

Posted

技术标签:

【中文标题】不同操作系统的 Puppeteer 安装【英文标题】:Puppeteer installation for different operating system 【发布时间】:2022-01-17 14:39:04 【问题描述】:

在我的 CI/CD 环境中,我使用 linux 来构建我的应用程序。 但是,我的 node.js 应用程序在 Windows 服务器上运行。

问题是:在 linux 系统上执行 npm install 会为 puppeteer 安装 linux chormium 版本。在 Windows 系统上执行此生成的文件(带有 node_modules)时,缺少必要的 chromium 版本。

如何解决?我只发现了一个相关的问题,没有得到充分的回答。任何解决方案都不起作用。 Puppeteer: Download Chromium for different platforms

【问题讨论】:

您能否重新表述并澄清一下在 Windows 系统上执行此构建时,缺少必要的 chromium 版本 我试图解释它。我的意思是在 linux 系统上执行“npm install”后生成的文件。然后将 node_modules 添加到我的项目中。当我之后将整个项目(包括那些 node_modules)复制到 windows 实例时,它不会包含必要的 windows chromium 实例,而只会包含 linux chromium 实例。 相关 — ***.com/questions/62359227/… — 没有解决方案,但有 cmets。 【参考方案1】:

尝试在 $ npm install 之前在 Windows 上删除文件 package-lock.json

通常最好在目标运行时环境上运行npm install,以确保正确下载/构建特定于平台的包。

除此之外,npm install 是在 linux 系统的 ci/cd 环境下执行的。

由于您没有在 Windows 上运行 npm install,因此请考虑在 Windows 上单独下载 Chromium 并设置 PUPPETEER_EXECUTABLE_PATH(参见 environment variables)。

【讨论】:

npm install执行时没有package-lock.json文件。除此之外,npm install是在linux系统的ci/cd环境下执行的。

以上是关于不同操作系统的 Puppeteer 安装的主要内容,如果未能解决你的问题,请参考以下文章

puppeteer截图

Puppeteer 的 chromium 打开时出现错误并停止 puppeteer 脚本

前端UI自动化puppeteer实践

Puppeteer:如何在 ec2 服务器上安装 puppeteer

PUPPETEER初探之拖拽操作

puppeteer安装以及demo