1

require('child_process').exec('npm install')在 node.js 脚本中作为子进程运行,但我希望它保留控制台颜色。我在 Windows 中运行,但希望这个脚本是可移植的(例如到 linux)。如何启动一个认为它正在从控制台运行的进程?

注意:我宁愿没有特定于 npm 的答案,而是一个允许我欺骗任何命令的答案。

4

1 回答 1

3

您可以通过让子进程继承主进程的stdio流来做到这一点。这意味着您需要 userspawn而不是exec,这就是您要做的:

var spawn = require('child_process').spawn;
var child = spawn('npm', ['install'], {
  stdio: 'inherit'
});
于 2013-09-17T21:07:25.547 回答