我正在尝试为一个项目配置 Spatie/Browsershot,用 Laravel 编写,但在完成所有步骤后,我仍然收到一个错误:
'node' 不是内部或外部命令、可运行程序或批处理文件
A 已经安装了最新版本的 node 和 npm 并且它们都存在于 PATH 中并且也可以在 cmd 上工作。
就像它写在 GitHub 上的官方文档中一样,我运行过:
- npm 安装 puppeteer
- 作曲家需要 spatie/browsershot
在我写的代码中:
use Spatie\Browsershot\Browsershot;
//Method to generate some random id
$unique_id = uniqid('img_');
//The path to the node and npm folders
$path_node = realpath('C:\\"Program Files"\\nodejs');
$path_npm = realpath('C:\\Users\\Hristo\\AppData\\Roaming\\npm');
//The $content is actually a stored HTML code
Browsershot::html("$content")->setScreenshotType('jpeg', 100)
->setNodeBinary($path_node)
->setNpmBinary($path_npm)
->save("$unique_id.jpeg");
Program Files带有双引号,否则 Laravel 会因为两个单词之间的空格而引发错误。
我不确定路径,它们是否正确编写?(windows中反斜杠的问题)