2016-08-19 97 views
0

我运行了以下内容:运行`npm install`时如何从node exec获取输出?

const exec = require('child_process').exec; 
let installProcess = exec('npm install'); 
    installProcess.stdout.pipe(process.stdout); 
    installProcess.stderr.pipe(process.stderr); 

但我得到了我的终端没有输出,我还能尝试一下呢?

+0

参考http://stackoverflow.com/a/ 20643568/2308005 –

回答

0

以下结束了对我的工作:

const execSync = require('child_process'); 
execSync('npm install', {stdio:[0,1,2]}); 
0

这工作完全

const exec = require('child_process').exec; 
const installProcess = exec('npm install --verbose'); 

installProcess.stdout.on('data', process.stdout.write); 
installProcess.stderr.on('data', process.stdout.write); 
installProcess.on('close', (code) => process.stdout.write(`exited with ${code}`)); 

,结果

❯ node index.js 
stderr: npm 
stderr: info it worked if it ends with ok 
npm verb cli [ '/usr/local/Cellar/node/6.3.0/bin/node', 
npm verb cli '/usr/local/bin/npm', 
npm verb cli 'install', 
npm verb cli '--verbose' ] 
npm info using [email protected] 
npm info using [email protected] 

stderr: npm verb 
stderr: correctMkdir /Users/bwin/.npm/_locks correctMkdir not in flight; initializing 

stderr: npm 
stderr: info lifecycle [email protected]~preinstall: [email protected] 

stderr: npm verb 
stderr: exit [ 0, true ] 

stderr: npm info 
stderr: ok 

exited with 0  
+0

这对我不起作用,我得到的唯一结果是“用0退出” – linuxdan