node.js - GraphicsMagick + ImageMagick + 拒绝错误 : Command failed:

标签 node.js ubuntu imagemagick command-line-interface graphicsmagick

使用的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/

相关文章:

imagemagick - 如何显示 JPEG 文件的方向?

node.js - AWS 上 Node 应用程序的 Docker 退出状态 1

node.js - 将规则从 Node 规则引擎转换为 nools 规则引擎

javascript - 如何在浏览器中将遗留 JavaScript 与 NodeJS 集成

node.js - 基于 HTTPs 的 WebRTC 问题

linux - 如何使用 rsync 命令在 Linux 中复制当前日期文件或特定日期文件?

c++ - 如何使用 C++ (ubuntu) 连接到 MySQL 数据库

c - ImageMagick 中使用的算法

ubuntu - 如何使用 SaltStack 正确安装 Ubuntu?

php - 想象 : Remove frames from an animated GIF?