假设我想在node.js
中运行npm install
并记录STDOUT,我可以这样想:
var process = child_process.spawn("npm", ["install", package_name]);
process.stdout.on('data', function (chunk) {
console.log(chunk.toString());
});
虽然这种执行在某些情况下有效,但在某些情况下会出错。它没有给我足够的信息,确切地说是什么导致了错误,所以我只能猜测。
我注意到的一件事是,现在很多npm install
程序执行不以串行方式显示日志,而是内联显示动画等。
这里有一个例子来说明我所说的:
我的问题是:
1.这种动画可能是stdout.on('data')
在某些情况下出错的原因吗?
1.我该如何处理这种情况?我只想获得所有数据的完整流
1条答案
按热度按时间snvhrwxg1#
有
stdout
和stderr
。也许尝试捕捉那里的错误?下面是我使用npm安装程序的代码的一部分,但使用npm-cli.js
的方式有点不同,它提供了在服务器上没有全局安装的情况下使用npm的选项: