2016-08-19 449 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