我已经使用以下命令安装了mjml cli (如mjml文档中所述):
npm install mjml --save现在,如果我在命令行中执行node_modules/.bin/mjml,它将成功运行。
问题是,当我在php中使用symfony进程组件时,我得到了以下错误(即使它是正确的路径):
The command "/Users/qoraiche/Documents/my-app/node_modules/.bin/mjml" failed. Exit Code: 127(Command not found) Working directory: /Users/qoraicheOS/Documents/my-app/public Output: ================ Error Output: ================ env: node: No such file or directorySymfony进程代码:
$process = new Process(base_path('node_modules/.bin/mjml'));
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();顺便说一句,我也在全球范围内安装了mjml,但没有成功。
发布于 2019-11-23 16:19:08
当从Symfony Process()调用MJML二进制文件时,请尝试提供node.js的完整路径。
$process = new Process('/your/path/to/node ' . base_path('node_modules/.bin/mjml'));我在自己的应用程序中使用这种方法。当然,您需要提供输入和输出文件来实际转换任何内容。
https://stackoverflow.com/questions/59004529
复制相似问题