2014-09-06 24 views
0

目前寫入基於所述node imagemagick library基於節點的實用程序,採取在流和輸出的另一流STDOUT:ImageMagick的:運行到錯誤:傳遞一個緩衝對象時寫EPIPE

im = require('imagemagick') 
request = require("request") 

sampleImage = "http://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg" 

request.get(sampleImage, (err, res, body) -> 

    prefix = "-" 

    switch (res.headers['content-type']) 
     when "image/jpeg" 
      prefix = "jpg:-" 
     when "image/png" 
      prefix = "png:-" 

    taskHash = { 
     srcPath: prefix 
     srcData: body 
     dstPath: - 
     height: 100 
    } 

    callback = (err, stdout, stderr)-> 
     if err 
      console.error(err) 
      process.exit(1) 
     console.log(stdout) 

    im.resize(taskHash, callback) 

) 

獲得以下錯誤:

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: write EPIPE 
    at errnoException (net.js:904:11) 
    at Object.afterWrite (net.js:720:19) 

已經注意到類似的錯誤討論here,但我認爲這是一個獨立的情況下,因爲我沒有使用實:graphicsmagick庫。如果不安裝imagemagick和graphicsmagick,是不是可以使用緩衝區?

回答

0

節點的ImageMagick需要兩兩件事:

  • Node.js的
  • ImageMagick的;)

您必須安裝缺少的庫(如Ubuntu的):

sudo apt-get update

sudo apt-get install imagemagick --fix-missing

它會解決你的問題