【问题标题】:Node.js spawn/exec/execFile/win-spawn/cross-spawn all throwing Error: spawn ENOENTNode.js spawn/exec/execFile/win-spawn/cross-spawn 所有抛出错误:spawn ENOENT
【发布时间】:2014-11-13 18:17:35
【问题描述】:

对于上下文,routes\index.js:87 在我的 exec(同步)周围或在我的 exec(异步)内部。

使用库 child_process、win-spawn 或 cross-spawn,我在 spawn、exec 或 execFile 中遇到此错误。

我已经尝试过运行 node、npm、grunt、ant (Apache) 等——它们都可以从命令行毫无问题地运行——带和不带参数、带和不带选项、同步和异步,我总是得到这个确切的错误(相同的行和列)。

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

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

-

Ben Fortune 要求(已尝试同步和异步,仅显示第一个示例):

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

我已经使用 win-spawn 和 cross-spawn 包尝试了所有这些,无论是否带有“.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 函数,而不是某个 3rd 方包。

我也尝试将 exec 放在代码中的其他位置,调用的位置不是问题。

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

【问题讨论】:

  • 一些代码会很有用。
  • 我告诉过你我已经尝试过 exec、execFile 和 spawn。你想让我给你看一个例子来说明它们是如何被调用的吗?你想让我写一大段代码来展示我尝试过的每一种组合和方法吗?
  • 一个例子就可以了。
  • 我觉得是Node+Windows组合的问题。我在 10 个月前使用了同样的方法,我没有遇到任何问题。在 Win7 上运行的早期版本的 Node。

标签: javascript windows node.js


【解决方案1】:

在 win-spawn 和 cross-spawn 失败的地方,spawn-cmd 起作用了。

我不知道为什么当 spawn-cmd 起作用时 cross-spawn 不起作用,因为它们非常相似,但是你去吧。至于原来的问题,我猜是node的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 2015-12-15
    • 2019-01-26
    • 2020-06-26
    • 2021-06-30
    • 2019-06-27
    相关资源
    最近更新 更多