php 使用 Browsershot 生成pdf文件 报如下错误怎么处理?

php 使用 Browsershot 生成pdf文件 报如下错误怎么处理

[0] ProcessFailedException in Browsershot.php line 752
The command "node ^"D:^\phpstudy_pro^\WWW^\gyl^\vendor^\spatie^\browsershot^\src/../bin/browser.js^" ^"^{^\^"url^\^":^\^"file:^\/^\/C:^\^\WINDOWS^\^\1696133718-0190530001708947384^\^\index.html^\^",^\^"action^\^":^\^"pdf^\^",^\^"options^\^":^{^\^"path^\^":^\^".^\/^\u4e00^\u7ebf^\u8fbe^\u901a^\u9001^\u8d27^\u5355_2024010210298515_65.pdf^\^",^\^"args^\^":^[^],^\^"viewport^\^":^{^\^"width^\^":800,^\^"height^\^":600^},^\^"displayHeaderFooter^\^":false,^\^"margin^\^":^{^\^"top^\^":^\^"10px^\^",^\^"right^\^":^\^"8px^\^",^\^"bottom^\^":^\^"10px^\^",^\^"left^\^":^\^"3px^\^"^}^}^}^"" failed.

Exit Code: 1(General error)

Working directory: D:\phpstudy_pro\WWW\gyl\public

Output:
================


Error Output:
================
node:internal/modules/cjs/loader:936
throw err;
^

Error: Cannot find module 'puppeteer'
Require stack:
- D:\phpstudy_pro\WWW\gyl\vendor\spatie\browsershot\bin\browser.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (D:\phpstudy_pro\WWW\gyl\vendor\spatie\browsershot\bin\browser.js:1:19)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'D:\\phpstudy_pro\\WWW\\gyl\\vendor\\spatie\\browsershot\\bin\\browser.js'
]
}

正常生成文件

阅读 755
avatarAI BotBETA

你遇到的问题是由于缺少 puppeteer 模块而导致的。puppeteer 是一个 Node 库,它提供了高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。

这个错误表明你的环境缺少 puppeteer,而 Browsershot 需要它来执行某些操作。

要解决这个问题,你需要安装 puppeteer。你可以通过以下命令在你的项目中安装它:

npm install puppeteer

或者,如果你正在使用 yarn:

yarn add puppeteer

安装完成后,再次尝试运行你的代码,看看问题是否得到解决。

另外,确保你的 Browsershotpuppeteer 版本是兼容的。如果你在使用 Browsershot 的较新版本,可能需要更新或降级 puppeteer 的版本。反之亦然。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏