Node.js ImageMagick&尝试加载有效图像时,GM都会导致错误127

时间:2012-06-05 16:07:07

标签: node.js imagemagick

我有一个节点应用程序接受上传的图像(使用强大的)并将其存储到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是什么以及为什么当fs能够正确读取文件时ImageMagick会抛出它??

4 个答案:

答案 0 :(得分:2)

这些是一些php命令,用于查找Imagemagick的路径,该路径应确认已安装。 有时在php中只有使用转换的问题,你需要使用完整的路径;像/ usr / local / bin / convert

这样的东西
echo "<pre>";
system("type convert"); 
system('which convert',$path); print_r($path); 
echo "</pre>";

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

答案 1 :(得分:1)

确保已安装“convert”

sudo apt-get update

sudo apt-get install imagemagick --fix-missing

答案 2 :(得分:0)

DERP。我没有安装ImageMagick。我认为NPM装置只需要一切;没有意识到还有其他依赖项,错误信息有点神秘;)

答案 3 :(得分:0)

我遇到了同样的问题,只需安装Graphicsmagick,http://www.graphicsmagick.org/

测试您的安装是否按照向导的建议运行,就是这样。