Error: spawn ENOENT
ENOENT
: No such directory entry
main.js
:
'use strict';
const spawn = require('child_process').spawn;
function runCommand(commandStr, args, cwd) {
console.log(`command:${commandStr} ${args.join(' ')}`);
let command = spawn(commandStr, args, {
cwd: cwd
});
return new Promise((resolve, reject) => {
command.on('close', code => {
resolve(code);
});
});
}
...
runCommand('git', ['status']);
两种环境下,执行:
node main.js
, 正常运行Error: spawn git 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._tickDomainCallback (internal/process/next_tick.js:122:9)
断点到child_process.js
发现,直接使用node main.js
,会带有参数shell: true
,加上这个参数以后代码执行正常。
未完待续~