Сбой команды дочернего процесса дочернего процесса с кодом ошибки 1

Я пытаюсь выполнить некоторую строку, используя дочерний процесс узла js и получаю сообщение об ошибке. Ниже приведен мой код:

let cmd : string = "code " + PROJECTS[value];
exec(cmd, function callback(error, stdout, stderr) {
  console.log("started console app");
});

ОШИБКА:

cmd:"C:\WINDOWS\system32\cmd.exe /s /c "code c:\Users\shana\Dropbox\code-settings-syn... (length: 82)"
code:1
killed:false
message:"Command failed: C:\WINDOWS\system32\cmd.exe /s /c "code c:\Users\shana\Dropbox\c... (length: 99)"
signal:null
stack:undefined

Деталь ошибки JSON.

Full CMD : "C:\WINDOWS\system32\cmd.exe /s /c "code c:\Users\shana\Dropbox\code-settings-sync""
Full message : "Command failed: C:\WINDOWS\system32\cmd.exe /s /c "code c:\Users\shana\Dropbox\code-settings-sync"\n"

1 ответ

Решение

Попробуйте более простой пример..

var exec = require('child_process').exec;
var cmd = 'code C:\Program Files';
exec(cmd, function(err, stdout, stderr) {
if (err) {
console.error(err);
return;
}
console.log(stdout); 
});

Это работает??

Я не хотел видеть всю ошибку (слишком многословную), поэтому сделал что-то вроде этого:

try { 
  const { stdout, stderr } = await exec('echo TEST');
  console.log('stdout:', stdout);
  console.log('stderr:', stderr);
} catch (e) {
  // If exec fails and you want to see the whole ugly error: 
  // console.error(e);
  console.log('How about a nice human readable message instead?'); 
}

Из-за "ожидания" это входит в "асинхронную" функцию. Дополнительная информация: /questions/29735219/kak-obeschat-nodes-childprocessexec-i-childprocessexecfile-funktsii-s-bluebird/55130435#55130435

Другие вопросы по тегам