我在具有Linux操作系统的AWS EC2实例上使用gm节点模块。我的目的是裁剪S3存储桶中的url提供的图像。我正在对S3存储桶中的图像url执行http请求以获取缓冲区并将缓冲区值传递给gm模块。我的代码如下:

  gm(buffer).crop(width, height, x, y).toBuffer(imageExtension, function (err, buffer) {
            if (err) {
               //error Handling
            } else {
              //Some Logic
            }
    });


当我将缓冲区传递给gm crop模块时,出现spawn ENOENT错误。

events.js:85
throw err; // Unhandled 'error' event
      ^
Error: spawn convert ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickDomainCallback (node.js:381:11)


我引用了堆栈溢出的以下链接作为参考,但无法修复该错误。


Error: spawn ENOENT while using GM in node
Node.js: Error: spawn ENOENT while using GM module
spawn ENOENT error with NodeJS
nodejs - Error: spawn ENOENT while adjusting image size using module gm


有人可以帮我解决这个问题吗?

最佳答案

要解决此问题,我在服务器故障时参考了以下链接

how to properly set up ImageMagick on AWS server using nodejs and express

我在Amazon EC2实例终端上运行了下面给出的命令,并且在服务器上安装了Linux体系结构的依赖项,并且gm节点模块开始正常工作。

sudo yum install GraphicsMagick GraphicsMagick-devel ImageMagick

关于node.js - 在 Node JS中使用gm模块时,使用NodeJS产生ENOENT错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33216415/

10-11 07:17