使用的gm版本是最新的1.9.0。
Node 版本是0.12.0。
gm 使用 { imageMagick: true } 标志进行初始化。 ImageMagick 也已更新。面临这个问题的服务器是Ubuntu。
我认为问题主要是由用户权限引起的。该应用程序在 root
用户上运行时可以正常工作。但是,当在另一个用户safeuser
中运行时,就会出现错误。它正在尝试进行一系列调整大小等操作,如下所示:
gm(imagePath)
.resize(size, size)
.quality(quality)
.writeAsync(path + suffix).catch(function(err) { // note #writeAsync is promisification
throw (err); //don't swallow the error
});
有很多文档旨在解决与访问权限有关的错误。但是,在我的 Node 实例在 safeuser
上运行的情况下,尚不清楚如何授予它对 ImageMagick CLI 套件的访问权限。此外,safeuser
能够执行文件系统操作,因为文件夹已被 CHOWN 到它。所以这部分怀疑就被消除了。
请问有什么帮助吗?
最佳答案
错误显然与权限无关。
通过在 imageMagick 上使用 GraphicsMagick 自己的 CLI 解决:
var gm = require('gm').subclass({imageMagick: true}); // remove this subclass to use gm's own CLI
var gm = require('gm')
如何在ubuntu上安装gm:
$ sudo add-apt-repository ppa:dhor/myway
$ sudo apt-get update
$ sudo apt-get install graphicsmagick
关于node.js - GraphicsMagick + ImageMagick + 拒绝错误 : Command failed:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30148514/