我理解.exec和.spawn在概念上的区别。我正在尝试运行一个简单的命令,比如说echo。
对于.exec,该命令确实按预期工作。有了.spawn,我收到了Error: spawn echo ENOENT。
我做错什么了?
// 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上运行!
谢谢你的帮助和耐心。
发布于 2016-12-17 04:33:18
我终于找到了我的问题的答案。问题是Windows上的spawn实现只能启动可执行文件。
为了避免这个问题,您可以使用双赢产卵。
https://stackoverflow.com/questions/41177132
复制相似问题