Javascript 使用child_process.exec运行npm包

Javascript 使用child_process.exec运行npm包,javascript,node.js,npm,exec,child-process,Javascript,Node.js,Npm,Exec,Child Process,在使用child\u process.exec方法运行npm pack时,我遇到了一些奇怪的行为 const { exec } = require('child_process'); function execCommand( command ) { exec( command, ( err, stdout, stderr ) => { if ( err != null ) { throw err; } consol

在使用
child\u process.exec
方法运行
npm pack
时,我遇到了一些奇怪的行为

const { exec } = require('child_process');

function execCommand( command ) {
  exec(
    command,
    ( err, stdout, stderr ) => {
      if ( err != null ) {
        throw err;
      }
      console.log( 'stdout -> ', stdout );
      console.log( 'stderr -> ', stderr );
    }
  );
}

function packProject( projectName ) {
  console.log('Packing Project');
  const distDir = `dist/${projectName}`;
  execCommand('cd "'+distDir+'" && npm pack', {
    encoding: 'utf8'
  });
}

packProject('test-app')
它确实会按预期执行这两个命令,但在运行npm pack后不会终止进程

Packing Project
stdout ->
stderr ->
stdout ->
stderr ->
stdout ->
stderr ->
在此过程中,我没有收到任何错误或警告。只在按下Ctrl+C之后。但我想这只是因为进程被手动终止

^Cnpm ERR! code ELIFECYCLE
npm ERR! errno 3221225786