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中創建正確的文件 –