我在firebase的一个项目中工作,该项目使用图形魔法将图像转换为pdf它在本地模拟器中运行良好但没有在生产
错误:无法执行GraphicsMagick/ImageMagick:gm"转换"&"/0"&"/a4.pdf";这很可能意味着在ChildProcess中找不到gm/convert二进制文件。(/workspace/node_modules/gm/lib/command.js:232:12(在进程的Process.ChildProcess.handle.onext(internal/child_Process.js:246:12(onErrorNT(internal/child_Process.js:415:16(的ChildProcess.EventEmitter.emit(domain.js:448:20(的ChildProcessor.emit(events.js:198:13(_tick回调(internal/process/next_tick.js:63:19(
知道在云功能文档中,他们说图形魔术包含在环境中请参阅:https://cloud.google.com/functions/docs/tutorials/imagemagick
编辑:gm需要安装(apt-get-install(,我不能在云功能中这样做,因为我无法访问机器。我现在正在使用pdfkit,它做同样的工作,不需要安装(需要npm安装tho(
您应该在依赖项中包含gm
。您可以通过运行来做到这一点
npm install gm
让你的依赖关系看起来像:
"dependencies": {
"@google-cloud/storage": "^5.0.0",
"@google-cloud/vision": "^2.0.0",
"gm": "^1.23.1"
}
我刚刚阅读了这篇文档,它在Nodejs10运行时运行良好。
更新:GitHub上似乎有一个关于这个问题的公开问题。我建议你在那里发表评论,并提供类似于记者所做的详细信息。