Imagemagick ENOENT 错误

5

不仅我遇到了这个问题: Node js + imagemagick + Error: spawn 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)
4个回答

9

ENOENT 表示找不到 identify。请确保您已经安装了 ImageMagick,并且它被安装在可以在 $PATH 中找到的路径中。


4
我有同样的问题,我使用 npm install imagemagick 安装了 Imagemagick,但不清楚接下来该怎么做。 - Andrea Girardi
你能解释一下在 npm install imagemagick 之后我们需要做什么吗? - João Pimentel Ferreira

3
我知道我来晚了几年,但我刚遇到这个问题并成功解决了它。我想在这里发布解决方案,以便下一个遇到这个问题的人可以参考。
Identify是一个旧版本实用程序,可以选择与ImageMagick一起安装。默认情况下,它未安装。

ImageMagick Setup


啊,这到底是做什么的?你知道吗? - basickarl
ImageMagick文档中:identify程序描述了一个或多个图像文件的格式和特征。它还报告图像是否不完整或损坏。返回的信息包括图像编号、文件名、图像的宽度和高度、图像是否使用颜色映射、图像中的颜色数、图像中的字节数、图像的格式(JPEG、PNM等),最后是读取和处理图像所需的秒数。 - PleasantB

2

我也遇到了这个错误,我的解决方法是在安装目录中创建一个 imagemagick.exe 的副本(对于我来说是 c:\Program Files\ImageMagic),然后将该文件重命名为 identify.exe。


1

仅仅运行npm install imagemagick是不够的,因为这个npm包并没有包含任何二进制文件,只有依赖于二进制文件的node脚本。

你仍然需要安装这些二进制文件,在Debian/Ubuntu中,你只需要执行以下命令:

sudo apt install imagemagick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接