在节点JS中使用gm模块时,使用NodeJS产生ENOENT错误
我正在使用Linux操作系统在AWS EC2实例上使用gm节点模块。 我的目标是从S3 bucket中裁剪由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)
我参考了堆栈溢出的以下链接以供参考,但无法修复错误。
- 错误:在节点中使用GM时产生ENOENT
- Node.js:错误:使用GM模块时产生ENOENT
- 用NodeJS产生ENOENT错误
- nodejs – 错误:在使用模块gm调整图像大小时产生ENOENT
有人可以帮我解决这个问题吗?
为了解决这个问题,我参考了以下关于服务器故障的链接
如何在AWS服务器上使用nodejs和express来正确设置ImageMagick
我运行下面给出的Amazon EC2实例terminal上的命令,并在服务器上安装了linux架构的依赖关系,gm节点模块开始正常工作。
sudo yum install GraphicsMagick GraphicsMagick-devel ImageMagick