错误:使用非root用户使用Node.js child_process时,在errnoException(child_process.j2:980:11)处生成ENOENT

时间:2013-08-08 04:14:46

标签: node.js spawn child-process

我在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);
         }

1 个答案:

答案 0 :(得分:2)

大家好:我想我得到了答案。 它在其他操作系统上不起作用的原因是我的配置。

如果没有在系统路径上配置节点,那么除非指定路径,否则它可以在任何地方访问。