目标 - 我正在使用grunt设置资源管道来转换和压缩网站的图像文件。
问题 - grunt-responsive-images无法找到gm / convert。
Warning: Could not execute GraphicsMagick/ImageMagick: identify "-ping" "-format" "%m:%T:%s" "src/css/images/test.jpg" this most likely means the gm/convert binaries can't be found
已安装GraphicsMagick,我可以从同一目录中调用gm version
:
GraphicsMagick 1.3.25 2016-09-05 Q16 http://www.GraphicsMagick.org/
如果我注释掉下面的 engine: 'im'
行,则会运行任务并应用尺寸和压缩设置。
grunt.initConfig({
responsive_images: {
dev: {
options: {
// engine: 'im', <--does this invoke gm?
sizes: [{
name: 'small',
width: '30%',
suffix: '_small',
quality: 60
},{
name: 'large',
width: '50%',
suffix: '_large',
quality: 40
}]
},
问题1 - 什么是引擎:'im'在做什么?
问题2 - 当未指定引擎:'im'时,grunt-responsive-images如何调整图像文件的大小和压缩?它是否使用内置图像工具?
更新
当我将engine: 'im'
更改为engine: 'gm'
时,任务完成且没有错误。也许im = imageMagick
和gm = graphicsMagick
?也许,grunt-responsive-images可以找到gm,但找不到im?
问题3 - 如何修复grunt-responsive-images以使用imageMagick(就像我在许多教程中看到的那样)?
谢谢!
答案 0 :(得分:1)
我在文档中找到了答案:grunt-responsive-images\options
回答1 - options.engine:选择调整图像大小时要使用的图形引擎。要使用GraphicsMagick,将其设置为gm。要使用ImageMagick,请将其设置为im。您需要安装相关的引擎。
回答2 -
我通过npm安装了gm,grunt-responsive-images使用它来压缩和调整大小。我没有安装了imagemagick。 brew list
没有显示imagemagick(列出了graphicsmagick,可能是为什么我想到我安装了imagemagick)。
回答3 - 修复很简单;用homebrew安装imagemagick:
brew install imagemagick
然后查看brew list
。现在,grunt选择'gm'或'im'引擎运行。