错误:用node.js和imagemagick写EPIPE

我失去了这个错误的来源,我希望你能帮助我。 我是新来的节点,并试图调整与imagemagick图像:

var express = require('express'), fs = require('fs'), gm = require('gm'), imagemagick = require('imagemagick'), var gm = require('gm').subClass({ imageMagick: true }); var app = express(); app.get('/', function (req, res) { console.log(__dirname + "/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg"); imagemagick.resize({ srcData: fs.readFileSync(__dirname + "/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg", 'binary'), width: "400" }, function(err,stdout,stderr){ if (err) console.log(err); fs.writeFile(__dirname + "/public/photos/thumbnail/4af1e720-a662-11e3-952c-61812ab60f67.jpg", stdout, 'binary'); }); }); 

我得到以下内容:

我已经检查了文件夹缩略图/存在,并且图像存在。 你知道还有什么可以进行吗?

 /Users/ik/Dropbox/snapgram/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg events.js:72 throw er; // Unhandled 'error' event ^ Error: write EPIPE at errnoException (net.js:904:11) at Object.afterWrite (net.js:720:19) computername:snapgram ik$ 

我得到这个相同的错误,并发现这个问题:

https://github.com/aheckmann/gm/issues/209

您可能需要同时安装imagemagick和graphicsmagick。 这解决了我的问题。

确保你的机器上安装了imagemagick和graphicsmagick。

要在Ubuntu上安装graphicsmagick,

 $ sudo add-apt-repository ppa:dhor/myway $ sudo apt-get update $ sudo apt-get install graphicsmagick