使用child_process.exec运行npm pack

时间:2019-04-17 11:16:13

标签: javascript node.js npm exec child-process

使用npm pack方法运行child_process.exec时,我遇到一些奇怪的行为。

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

0 个答案:

没有答案