前言
nodejs项目需要生成缩略图,由于node本身无法处理,需要用到GraphicsMagick
工具,于是开始网上找工具,中间踩了一些坑,于是记录下来。
安装GraphicsMagick
安装这个工具没有难度,按照nodejs使用graphicsmagick生成缩略图步骤操作即可。
当我使用nodejs的gm模块去处理缩略图的时候,遇到了问题。
直接使用nodejs跑脚本,能成功处理图片。当在使用了pm2
管理的项目中跑相同的代码时却报了以下错误
Error: Could not execute GraphicsMagick/ImageMagick: gm "convert" "/xxx/xxx.jpg" "-resize" "200x" "/xxx/xxx.jpg" this most likely means the gm/convert binaries can't be found
在gm
的issue下有很多人遇到相关的问题,找到了这个方案
在其他方案无效的情况下,我尝试了这个方案
安装ImageMagick
参考在CentOS中编译安装ImageMagick安装工具,并在代码中添加const gm = require('gm').subClass({imageMagick: true});
测试,没有报错,问题解决!
参考文献
github Issue
nodejs使用graphicsmagick生成缩略图
在CentOS中编译安装ImageMagick