我在MacOS和linux中使用node.js v0.10.12遇到了这个错误,这段代码 在Windows 7中正常工作。 唯一的区别是在Windows 7上我有管理员ID,在MacOSX和Linux上,我不是root用户而只是计划用户。
我们是否需要root才能使用child_process? 关于它为什么在某些操作系统上失败的任何线索而不是全部? 非常感谢,
这是代码:
var spawn = require('child_process').spawn;
try {
var child = spawn('node', ['plusone.js']);
//call every minute
setInterval(function() {
//
var number = Math.floor(Math.random() * 10000);
child.stdin.write(number +'\n');
child.stdout.once('data', function(data) {
console.log('child replied to '+ number +' with ' +data);
});
},1500);
child.stderr.on('data', function(data) {
process.stdout.write(data);
});
} catch (e)
{
console.log("entering catch block");
console.log(e);
}
答案 0 :(得分:2)
大家好:我想我得到了答案。 它在其他操作系统上不起作用的原因是我的配置。
如果没有在系统路径上配置节点,那么除非指定路径,否则它可以在任何地方访问。