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