这么一段简单的代码
const {exec} = require('child_process');
exec('npm -v', (err, res, reserr) => {
console.log(err, res, reserr)
})
运行起来就一直不输出结果,如下
一直就这么卡着,谁知道这是什么原因?或者给点思路?
这么一段简单的代码
const {exec} = require('child_process');
exec('npm -v', (err, res, reserr) => {
console.log(err, res, reserr)
})
运行起来就一直不输出结果,如下
一直就这么卡着,谁知道这是什么原因?或者给点思路?
是你的主程序没有退出,最后一行添加 process.exit()
const {exec} = require('child_process');
exec('npm -v', (err, res, reserr) => {
console.log(err, res, reserr);
process.exit();
})
参考nodejs官方api相关说明, 在windows下,你可能还需要尝试把你要执行的命令写在.bat文件里,然后给执行权限,比如写在my.bat里,然后:
exec('my.bat', (err, stdout, stderr) => {
if (err) {
console.error(err);
return;
}
console.log(stdout);
process.exit();
});
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
忽忽悠悠就好了
话说是怎么好的,就是安装cnpm的时候(别问我为啥是cnpm,我一顿操作试出来的-_-),淘宝官方给出的命令如下:
看见那个网址了么?https开头的那个,我需要把https替换成http(而我之前一直都用的https的地址),也就是执行如下命令:
并且设置一下npm的registry也为上述地址
然后就好了。。。

后就好了。。。
就好了。。。
好了。。。
了。。。
。
好的不要不要的。。。
各位大佬可以告诉我这是为啥么?