在节点JS中使用gm模块时,与NodeJS产生ENOENT错误

时间:2015-10-19 13:58:37

标签: node.js amazon-ec2 imagemagick graphicsmagick

我在AWS EC2实例上使用带有Linux操作系统的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裁剪模块时,我会产生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)

我在堆栈溢出时引用了以下链接以供参考,但无法修复错误。

  1. Error: spawn ENOENT while using GM in node
  2. Node.js: Error: spawn ENOENT while using GM module
  3. spawn ENOENT error with NodeJS
  4. nodejs - Error: spawn ENOENT while adjusting image size using module gm
  5. 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

要解决此问题,我在服务器故障上引用了以下链接

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

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

sudo yum install GraphicsMagick GraphicsMagick-devel ImageMagick