nodejs在使用gm进行图片编辑的时候发生以下错误代码时:
Error: Could not execute GraphicsMagick/ImageMagick: gm "convert" "D:\GitProject\youdochatserver\src\public\uploads\20230502\1684217815737.jpg" "D:\GitProject\youdochatserver\src\public\uploads\20230502\1684217877985.jpg" "+appen
d" "D:\GitProject\youdochatserver\src\public\uploads\20230502\1689661145445.jpg" this most likely means the gm/convert binaries can't be found
at ChildProcess.<anonymous> (D:\GitProject\youdochatserver\node_modules\gm\lib\command.js:250:12)
at ChildProcess.emit (events.js:400:28)
at ChildProcess.emit (domain.js:475:12)
at ChildProcess.cp.emit (D:\GitProject\youdochatserver\node_modules\gm\node_modules\cross-spawn\lib\enoent.js:36:37)
at Process.ChildProcess._handle.onexit (internal/child_process.js:285:12)
原来直接引用
const gm = require('gm')
改成如下就可以解决,其中appPath该参数值为ImageMagick安装目录文件地址。
const gm = require('gm').subClass({
imageMagick: '7+',
appPath: String.raw`D:\\Program Files\\ImageMagick\\`
});
以此同时需要安装下ImageMagick对应的二进制文件,下载地址:ImageMagick – Download