2
当我试图在UNIX下的Node.js运行,收到此错误dooing说:node.js的错误:ENOSYS产卵执行命令行命令
var exec = require('child_process').exec;
var commandLine = "/var/util/generate 300 300 > /tmp/barcode.png";
var childProcess;
http.createServer(function (req, res) {
var request = url.parse(req.url, true);
var action = request.pathname;
if (action == '/barcode.png') {
console.log('executes commandLine');
// executes 'commandLine'
childProcess = exec(commandLine,
function (error, stdout, stderr) {
sys.print('stdout: ' + stdout);
sys.print('stderr: ' + stderr);
var img = fs.readFileSync('/tmp/barcode.png');
res.writeHead(200, {
'Content-Type' : 'image/png'
});
res.end(img, 'binary');
if (error !== null) {
console.log('exec error: ' + error);
}
});
} else {
res.writeHead(200, {
'Content-Type' : 'text/plain'
});
res.end('QR Generate service reply: Please provide correct request parameter \n');
}
}).listen(8888);
的console.log(“QR生成服务运行在http://localhost:8888“);
但我发现了:
Error: ENOSYS spawn
at errnoException (child_process.js:476:11)
at ChildProcess.spawn (child_process.js:443:11)
at child_process.js:341:9
at Object.execFile (child_process.js:250:15)
at child_process.js:217:18
at Server.<anonymous> (/base/usr/node/service.js:139:18)
at Server.emit (events.js:70:17)
at HTTPParser.onIncoming (http.js:1479:12)
at HTTPParser.onHeadersComplete (http.js:102:31)
at Socket.ondata (http.js:1375:22)
当它击中EXEC(
什么是错的
节点的版本是0.6.4
你可以运行'/ var/util/generate 300 300> /tmp/barcode.png'在命令行中成功? – alessioalex
是的,它的工作原理。它会在/ tmp中创建正确的文件 –