节点js错误:产卵ENOENT

我正在尝试将SVG转换为节点js的PNG。 我的代码在这里:

http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'image/png'}); var convert = child_proc.spawn("convert", ["svg:", "png:-"]), values = (url.parse(req.url, true).query['values'] || ".5,.5") .split(",") .map(function(v){return parseFloat(v)}); convert.stdout.on('data', function (data) { res.write(data); }); convert.on('exit', function(code) { res.end(); }); jsdom.env({features:{QuerySelector:true}, html:htmlStub, scripts:scripts, done:function(errors, window) { var svgsrc = window.insertPie("#pie", w, h, values).innerHTML; //jsdom's domToHTML will lowercase element names svgsrc = svgsrc.replace(/radialgradient/g,'radialGradient'); convert.stdin.write(svgsrc); convert.stdin.end(); }}); }).listen(8888); 

执行时,我得到了这个错误(在MAC中)

 events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34) 

我已经指定了nodejs的path。 但我不知道为什么失败。 有关这个问题的任何想法?

这可能会失败,因为它无法findconvert应用程序。 convertpath是否存在于您的环境PATH中? 你可以运行从您的terminalconvert

我从Linux运行这个相同的问题。 我做了npm install unoconv并认为这将照顾安装转换应用程序,但只有当我已经安装它可以得到它在Node.js中运行sudo apt-get install unoconv