【问题标题】:Node.js ImageMagick & GM both cause error 127 when trying to load a valid image尝试加载有效图像时,Node.js ImageMagick 和 GM 都会导致错误 127
【发布时间】:2013-05-29 04:22:57
【问题描述】:

我有一个节点应用程序,它接受上传的图像(使用强大的)并将其存储到 Amazon S3 存储桶中。在将其保存到 S3 之前,我想获取图像的宽度、高度等以供将来考虑。我发现这个问题有帮助:Opening images on NodeJS and finding out width/height

但是,当我尝试使用 imagemagick(或 gm,就此而言,我都尝试过)打开图像时,我收到错误 127。具体来说,imagemagick 报告:

{"timedOut":false,"killed":false,"code":127,"signal":null}

我知道该文件存在(因为它已正确上传到 S3 存储桶),并且我可以通过 fs 对其进行操作(例如,重命名),但我找不到有关错误代码 127 的任何文档来确定 IM 失败的原因。考虑到上传到强大的文件可能有些奇怪导致它无法正确读取,我尝试使用 imagemagick 在同一文件夹中加载一个简单的“test.jpg”图像:

    im.identify('test.jpg', function(err, features){
        if(!err) 
        {
            // my image processing code
        }
        else
        {
            // my err handling code; spits out the error above
        }
    });

不幸的是,尽管我确信 test.jpg 是一个很好且格式正确的图像,但它以完全相同的方式失败了。

那么,谁能帮我理解错误 127 是什么以及为什么 ImageMagick 会在 fs 能够正常读取文件时抛出它...?

【问题讨论】:

  • 操作系统? ImageMagick 是如何安装的? ImageMagick 的版本?
  • OSX ImageMagick && GM 都通过 NPM 安装,例如“npm install imagemagick”,今天早上刚刚执行的 ImageMagick 版本……有输出功能吗?不要看到它是用一种愚蠢的方法打印的 console.log(im);
  • POSIX 错误 127 基本上是“找不到命令”。听起来好像没有安装 ImageMagick。 Node.js ImagicMagick 库是 ImagicMagic CLI 工具的包装器。

标签: node.js imagemagick


【解决方案1】:

这些是几个 php 命令,用于查找 Imagemagick 的路径,并确认它已安装。 有时在 php 中仅使用 convert 就会出现问题,您需要使用完整路径;类似 /usr/local/bin/convert

echo "<pre>";
system("type convert"); 
system('which convert',$path); print_r($path); 
echo "</pre>";

我知道你没有使用 php,但你应该仍然可以使用这些方法。

【讨论】:

    【解决方案2】:

    确保安装了“convert”

    sudo apt-get 更新

    sudo apt-get install imagemagick --fix-missing

    【讨论】:

      【解决方案3】:

      去吧。我没有安装 ImageMagick 本身。我认为安装 NPM 就足够了。没有意识到还有其他依赖项,错误消息有点神秘;)

      【讨论】:

        【解决方案4】:

        我有同样的问题,只需安装 Graphics Magick,http://www.graphicsmagick.org/

        测试您的安装是否按照向导的建议工作,仅此而已。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-28
          • 2023-03-07
          • 1970-01-01
          • 2013-02-23
          • 2023-02-06
          • 2019-12-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多