不同操作系统的 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 的 chromium 打开时出现错误并停止 puppeteer 脚本