我在使用 Node 的 Lambda 函数中起诉 GraphicsMagick,但收到此错误:
Could not execute GraphicsMagick/ImageMagick: gm "convert" "/tmp/yH3Js6ALXVGGAokvIsij.png" "/tmp/a086ffd7-a143-4f83-8f6a-fcdd29b12630.png" this most likely means the gm/convert binaries can't be found
at ChildProcess.<anonymous> (/var/task/node_modules/gm/lib/command.js:232:12)
at emitOne (events.js:96:13)
at ChildProcess.emit (events.js:188:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:213:12)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
所以它说找不到 gm/convert 二进制文件
,这意味着该应用程序尚未安装,尽管行 "gm": "^1.23.1"
位于 package.json 中。您现在可以告诉我,我可以将 gm/convert binaires
包含在存储库中以使其正常工作吗?谢谢!
最佳答案
gm
是一个用于使用 ImageMagick
的 NodeJS 包。您仍然需要 ImageMagick
本身。
您需要为 Lambda 环境安装并编译 ImageMagick
。然后,您可以将其作为 Lambda 层上传,您的 Lambda 函数可以位于其之上。
如果您使用serverless
,您可以查看this answer它为您提供了如何将 ImageMagick
构建为 Lambda 层的步骤。
关于node.js - AWS Lambda GraphicsMagick 错误 : gm/convert binaries can't be found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53821778/