【问题标题】:Imagemagick ENOENT errorImagemagick ENOENT 错误
【发布时间】:2016-03-15 17:49:50
【问题描述】:

不只是我有这个问题: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)

【问题讨论】:

    标签: node.js imagemagick


    【解决方案1】:

    仅制作npm install imagemagick 是不够的,因为 npm 包不包含任何二进制文件,仅包含依赖于二进制文件的节点脚本。

    你仍然需要安装二进制文件,在 Debian/Ubuntu 中,你只需要这样做

    sudo apt install imagemagick
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我有同样的问题,我已经使用 npm install imagemagick 安装了 imagemagick - 不清楚我现在必须做什么。
      • 你能解释一下在npm install imagemagick之后我们要做什么吗?
      【解决方案3】:

      我晚了几年才意识到这一点,但我只是遇到了这个问题并能够解决它。 我想我会在这里为遇到此问题的下一个可怜的 sap 发布解决方案。

      identify 是一个遗留实用程序,可以选择与 ImageMagick 一起安装。 默认不安装。

      【讨论】:

      • 啊这到底是做什么的,你知道吗?
      • 来自ImageMagick documentation:识别程序描述了一个或多个图像文件的格式和特征。它还报告图像是否不完整或损坏。返回的信息包括图片编号、文件名、图片的宽高、图片是否有颜色映射、图片的颜色个数、图片的字节数、图片的格式( JPEG、PNM 等),最后是读取和处理图像所需的秒数。
      【解决方案4】:

      我也遇到了这个错误,我所做的是在安装目录(对我来说是 c:\Program Files\ImageMagic)中复制了 imagemagick.exe,并将文件重命名为 identify.exe

      【讨论】:

        猜你喜欢
        • 2018-03-20
        • 2014-08-26
        • 1970-01-01
        • 1970-01-01
        • 2013-07-30
        • 2012-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多