我在node.js脚本中运行require('child_process').exec('npm install')
作为子进程,但我希望它保留控制台颜色。我在Windows中运行,但希望这个脚本是可移植的(例如linux)。如何启动一个认为它是从控制台运行的进程?
注意:我宁愿没有特定于npm的答案,但答案允许我欺骗任何命令。
答案 0 :(得分:3)
您可以通过让子进程继承主进程“stdio
流来实现此目的。这意味着您需要使用spawn
而不是exec
,这就是您要做的事情:
var spawn = require('child_process').spawn;
var child = spawn('npm', ['install'], {
stdio: 'inherit'
});