【问题标题】:imagemagick error on node.jsnode.js上的imagemagick错误
【发布时间】:2012-02-22 07:56:52
【问题描述】:

我遇到这样的错误

    node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Command failed: CreateProcessW: The system cannot find the file specified
.

    at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\imagemagic
k\imagemagick.js:64:15)
    at ChildProcess.emit (events.js:70:17)
    at maybeExit (child_process.js:361:16)
    at Socket.<anonymous> (child_process.js:466:7)
    at Socket.emit (events.js:67:17)
    at Array.0 (net.js:320:10)
    at EventEmitter._tickCallback (node.js:192:40)

图像路径很好,操作在节点 v0.6.11 和 Imagemagick v0.1.2 上

关于问题的任何想法

【问题讨论】:

  • 似乎找不到 imagemagick 可执行文件。您是否提供了绝对路径?
  • @LinusGThiel 我给定了绝对路径和 IM 存在
  • 如果启动节点 REPL 并发出命令:require('fs').statSync(PATH_TO_IM)?

标签: node.js imagemagick npm


【解决方案1】:

也许这个回复对其他人有帮助... 我编辑了 identify.path 和 convert.path 并且工作了

var img = require('imagemagick');
im.identify.path = "C:/Program Files/ImageMagick-6.8.2-Q16/identify";
im.convert.path = "C:/Program Files/ImageMagick-6.8.2-Q16/convert";

不知道有没有更优雅的解决方案。

【讨论】:

    【解决方案2】:

    确保 ImageMagic 已安装且在环境路径中可用。首先尝试从命令行使用它,然后自己进行操作,而不是使用任何其他节点模块。

    如果它工作正常,那么您可以像这样使用child_process.exec() API:

    var util = require('util'),
        exec = require('child_process').exec,
        child;
    
    child = exec('cat *.js bad_file | wc -l',
      function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
          console.log('exec error: ' + error);
        }
    });
    

    了解更多信息。检查此Process and Forking API in Node.JS

    还有一件事。在命令行中传递它们之前,不要忘记引用其中包含空格和特殊字符的路径。这将为您省去很多麻烦和寻找错误的麻烦。

    您提供的信息很少,我只能回答这个问题。这就是为什么答案并不完全针对您的情况。如果您需要从本网站 (SO) 获得更多信息,您至少应该提供足够的代码,甚至更好地完整(即可运行)代码,其中仅包含有问题的部分。

    【讨论】:

      【解决方案3】:

      您是否已经将错误隔离到特定的代码行?

      如果没有,好的,我们得到了一点调试信息:

      系统找不到指定的文件

      您可能已经在问题所在的地方出现了故障,因此请检查所有 I/O 操作并尝试一一消除。使用console.log 或您最喜欢的方法进行调试以找到解决方法。

      【讨论】:

        猜你喜欢
        • 2014-04-15
        • 1970-01-01
        • 2011-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-16
        • 1970-01-01
        相关资源
        最近更新 更多