首页 > 解决方案 > 将 PM2 与本地 Windows 服务用户一起使用时,如何配置 Puppeteer 以写入特定的临时文件夹?

问题描述

我们正在使用PM2. 对于 PDF 生成,我们使用Puppeteer.

Chromium 从 pm2 开始,因为本地服务用户使用了错误的临时文件夹

当前安装:PM2 运行为使用pm2-installer https://github.com/jessety/pm2-installer安装的服务(使用离线安装程序,因为目标是没有互联网的 Windows 服务器)。此 PM2 启动一个节点应用程序,该应用程序启动一个 puppeteer-Chromium 实例。因此,此 Chrome 与本地服务用户一起运行。

Puppeteer 使用特定的 userDataDir 启动。

现在的问题是 Puppeteer 尝试写入C:\Users\Administrator\AppData\Local\Temp\...它没有权限写入的地方,因为它没有以管理员身份运行。

Chrome 调试日志说:Failed to create temporary file

所以问题是:

标签: node.jswindows-servicespuppeteerpm2windows-server

解决方案


您可以更改您的 puppeteer 下载路径await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: './mydownloadfolder'});


推荐阅读