【问题标题】:Puppeteer installation for different operating system不同操作系统的 Puppeteer 安装
【发布时间】: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 实例。
  • 相关 — stackoverflow.com/questions/62359227/… — 没有解决方案,但有 cmets。

标签: javascript node.js puppeteer cicd


【解决方案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环境下执行的。
猜你喜欢
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 2021-01-14
  • 2011-09-02
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多