2016-03-15 154 views
1

不仅我有这样的问题:Node js + imagemagick + Error: spawn ENOENTImageMagick的ENOENT错误

console.log(appPath + '/public/avatar/tmp_' + filename); 
var path = appPath + '/public/avatar/tmp_' + filename; 
try { 
    fs.accessSync(path, fs.F_OK); 
    // Do something 
    console.log('file exists!'); 
} catch (e) { 
    // It isn't accessible 
    console.log('file does NOT exist!'); 
} 

console.log('trying...'); 
// crop/resize image 
im.crop({ 
    srcPath: path, 
    dstPath: 'test1.png', 
    width: 60, 
    height: 60 
}, function(err, stdout, stderr){ 
    console.log('here'); 
    if (err) { 
     console.log('trololololol '+err); 
     reject(err); 
    } 
    console.log('resized to fit within 60x60px'); 
    resolve(); 
}); 

我得到的控制台输出:

C:\www\instantynode\src/public/avatar/tmp_1458064183594_la5v9vcuc27hw7b9.png 
file exists! 
trying... 
events.js:141 
     throw er; // Unhandled 'error' event 
    ^

Error: spawn identify ENOENT 
    at exports._errnoException (util.js:870:11) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) 
    at onErrorNT (internal/child_process.js:344:16) 
    at nextTickCallbackWith2Args (node.js:442:9) 
    at process._tickCallback (node.js:356:17) 

回答

5

ENOENT意味着identify无法找到。确保已安装ImageMagick,并且它安装在$PATH中的路径中。

+1

我有同样的问题,我已经安装imagemagick使用npm安装imagemagick - 不清理我现在要做的。 –

0

我也有这个错误,我所做的就是做imagemagick.exe的副本在安装目录下(这是C:\ Program Files文件\ ImageMagic我)和重命名的文件,以identify.exe