执行npm install
require("child_process").execSync("npm install", {stdio: [0, 1, 2]});
终端信息
有没有办法实时监听获取上图中终端输出的信息
执行npm install
require("child_process").execSync("npm install", {stdio: [0, 1, 2]});
终端信息
有没有办法实时监听获取上图中终端输出的信息
在 nodejs 的 docs 里就有现成的例子,改一下就可以满足你现在的需求
const { spawn } = require('child_process');
const subprocess = spawn('npm install');
subprocess.stdout.on('data', (data) => {
console.log(`Received chunk ${data}`);
});
这样就可以了吧:
require("child_process").execSync("npm install", { stdio: 'inherit' })
或者直接调用 toString
方法:require("child_process").execSync("npm install").toString()
5 回答4.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
3 回答2k 阅读
1 回答3.3k 阅读
1 回答2.7k 阅读
用
spawn
可以边执行边输出,但是测试了npm和yarn, 输出的都是一些安装包前的固定提示信息,并不会输出像进度条那些内容。yarn
