Nodejs npm 更新状态输出

Nodejs npm update status output

使用以下代码从 "npm update" 子进程获取标准输出数据:

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

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

仅从进程中获取最终消息:

想要获取更新期间出现的信息消息:

我想我有一个可能的答案,在 npm 执行期间显示的信息对应于详细日志级别输出,所以如果我们将日志级别设置为详细(默认为 '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());
    });