谷歌云功能中未安装graphicsmagic?

时间:2021-01-06 19:50:34

标签: node.js firebase google-cloud-functions

我在 firebase 中的一个项目中工作,该项目使用图形魔法将图像转换为 pdf 它在本地模拟器中工作正常 但不在生产中

<块引用>

错误:无法执行 GraphicsMagick/ImageMagick:gm "convert" "./0" "./a4.pdf" 这很可能意味着在 ChildProcess 中找不到 gm/convert 二进制文件。 (/workspace/node_modules/gm/lib/command.js:232:12) 在 ChildProcess.emit (events.js:198:13) 在 ChildProcess.EventEmitter.emit (domain.js:448:20) 在 Process.ChildProcess ._handle.onexit (internal/child_process.js:246:12) at onErrorNT (internal/child_process.js:415:16) at process._tickCallback (internal/process/next_tick.js:63:19)

知道在云函数文档中他们说图形魔法包含在环境中 见:https://cloud.google.com/functions/docs/tutorials/imagemagick

编辑:gm 需要安装(apt get install),我不能在云功能中这样做,因为我无法访问机器。 我现在正在使用 pdfkit,它做同样的工作并且不需要安装(需要 npm install tho)

1 个答案:

答案 0 :(得分:0)

您应该在依赖项中包含 gm。您可以通过运行:

npm install gm

让你的依赖看起来像:

"dependencies": {
  "@google-cloud/storage": "^5.0.0",
  "@google-cloud/vision": "^2.0.0",
  "gm": "^1.23.1"
}

我刚刚关注了这个 documentation,它在 Nodejs10 运行时运行良好。

更新:GitHub 上似乎有关于此问题的 open issue。我建议你在那里发表评论并提供类似于记者所做的详细信息。