2014-09-19 138 views
2

ErrorNode.js的产卵/ EXEC /的execfile/WIN-产卵/交叉产卵所有投掷错误:产卵ENOENT

为背景,路径\ index.js:87是在我的exec(同步),或在我的exec(异步)。

我使用库child_process,win-spawn或交叉产生函数获得了这个错误,使用了spawn,exec或execFile。

我试过运行node,npm,grunt,ant(Apache)等等 - 所有这些命令行都没有问题 - 有或没有参数,有和没有选项,同步和异步,以及我总是得到这个确切的错误(相同的行和列)。

我昨天整天都在寻找解决方案,在这里找到解决方案,并在Github上(节点)尝试了我发现的一切,但没有解决问题。

我会提供您认为有助于解决问题的任何信息。感谢您的支持。

-

由Ben财富请求(已尝试同步和所有的异步,只示出第一实施例):

var exec = require('child_process').exec; 
exec('node', function(err){ 
    if(err) throw err; 
}); 

-

var exec = require('child_process').exec; 
var child = exec('node'); 
child.on('error', function(){ throw arguments['0']; }); 

-

var exec = require('child_process').execFile; 
exec('/path/to/node', function(err){ 
    if(err) throw err; 
} 

-

var spawn = require('child_process').spawn 
spawn('node', function(err){ 
    if(err) throw err; 
} 

-

var spawn = require('child_process').spawn 
spawn('cmd', ['/s', '/c', '"C:\\mycmd.bat"'], { 
    windowsVerbatimArguments: true 
}); 

我已经尝试了所有这些与包装取胜,产卵和交叉产卵,有和没有“.exec”(等)词缀的要求。我试过了像stdio: 'inherit'这样的选项。

我正在使用Windows 8.1 64位,以管理员身份运行的命令。

-

Node js - Error: spawn ENOENT (Windows 8.1)

http://www.zescience.com/node-js-error-spawn-enoent-windows-8-1-167370

一对夫妇的例子有同样的错误,但在我的情况,我调用exec函数,而不是一些第三方软件包。

我也试过把代码中的exec放在其他地方,调用的位置不是问题。

可能相关:https://github.com/joyent/node/issues/2318

+0

某些代码会很有用。 – 2014-09-19 08:30:45

+0

我告诉过你我已经尝试过exec,execFile和产卵了。你想让我给你看一个他们被称为怎样的例子吗?你想要我写一大块代码来显示我尝试的每种组合和方法吗? – Jexah 2014-09-19 09:25:25

+0

一个例子会很好。 – 2014-09-19 09:34:35

回答

0

凡双赢的产卵和交叉产卵失败,spawn-cmd工作。

我不知道为什么交叉产卵没有工作时,spawn-cmd,因为他们非常相似,但你去。至于原始问题,我想这是节点的问题。