Node.js:错误:使用GM模块时生成ENOENT

时间:2014-11-01 22:09:25

标签: javascript node.js graphicsmagick

尽管已多次询问过,但现有的答案都没有帮助我。使用MEAN环境(在Mac OSX上),我使用:

安装了graphicsmagick
sudo npm install gm

每当我运行以下脚本时,都会收到此错误:

{ [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }

这是我试图运行的代码:

var gm = require('gm');    
//var gm = require('gm').subClass({ imageMagick: true }); //tried this one too 

    gm('./project/public/images/webshots/test1.jpg')
           .resize(320, 240)
           .write('./project/public/images/webshots/test2.jpg', function (err) {
        if (!err) console.log('done');
        if(err){
           console.log(err);   
        }
        });

适当的书面许可由:

给出
sudo chmod -R 777 ./project/public/images/webshots

我甚至尝试了几种源/目标路径组合。还有什么我可以错过的?

2 个答案:

答案 0 :(得分:5)

正在寻找gm(GraphicsMagick)二进制文件

通过PPA安装GraphicsMagick:

sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install graphicsmagick

这对我有用

答案 1 :(得分:0)

gm模块无法找到gm可执行文件的路径。所以听起来需要更新$PATH以包含安装graphicsmagick的路径。