【发布时间】: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 放在代码中的其他位置,调用的位置不是问题。
【问题讨论】:
-
一些代码会很有用。
-
我告诉过你我已经尝试过 exec、execFile 和 spawn。你想让我给你看一个例子来说明它们是如何被调用的吗?你想让我写一大段代码来展示我尝试过的每一种组合和方法吗?
-
一个例子就可以了。
-
我觉得是Node+Windows组合的问题。我在 10 个月前使用了同样的方法,我没有遇到任何问题。在 Win7 上运行的早期版本的 Node。
标签: javascript windows node.js