Node.js ';子进程&x27;。exec vs.spawn Enoint

Node.js ';子进程&x27;。exec vs.spawn Enoint,node.js,exec,child-process,spawn,Node.js,Exec,Child Process,Spawn,我确实理解.exec和.spawn之间的概念差异。 我正在尝试运行一个简单的命令,比如说echo 对于.exec,该命令确实可以按预期工作。 使用.spawn接收错误:spawn echo enoint 我做错了什么 // WORKS AS EXEPCTED const exec= require('child_process').exec; exec("echo hello", function(err, stdout) { console.log(stdout); }); // T

我确实理解
.exec
.spawn
之间的概念差异。 我正在尝试运行一个简单的命令,比如说
echo

对于.exec,该命令确实可以按预期工作。 使用.spawn接收
错误:spawn echo enoint

我做错了什么

// WORKS AS EXEPCTED
const exec= require('child_process').exec;
exec("echo hello", function(err, stdout) {
    console.log(stdout);
});

// THROWS
const spawn = require('child_process').spawn;
spawn("echo", ["hello"]); // fail
收到错误:

Error: spawn echo ENOENT
at exports._errnoException (util.js:1026:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:359:16)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
我在Windows上运行


谢谢你的帮助和耐心。

我终于找到了问题的答案。 问题是Windows上的
spawn
实现只能启动可执行文件


为避免此问题,您可以使用。

请提供您的代码示例,如果没有示例,很难回答。neithr exec上没有未解决的bug,在此类基本命令执行上也没有生成bug。