Nodejs npm更新状态输出

时间:2017-02-08 11:06:43

标签: node.js stdout child-process

使用以下代码从" npm update"获取stdout数据。子进程:

var child = require('child_process').exec('npm update');

child.stdout.on('data', function(data) {
    console.log("data :"+data.toString());
}

仅获取流程中的最终消息:

enter image description here

想要获取更新期间显示的信息:

enter image description here

1 个答案:

答案 0 :(得分:0)

我想我有一个可能的答案,在npm执行期间显示的信息对应于详细的日志级别输出,因此如果我们将loglevel设置为verbose(默认为'warn'),我们将得到详细信息输出到stderr是文档中所述的默认流。 以下解决了我的问题:

var child = require('child_process').exec('npm update --loglevel="verbose"');

child.stderr.on('data', function(data) {
        logger.info("npm update status:", data.toString());
    });