我给npm包写了一个preinstall脚本,在包安装之前执行进行Node版本检查
if (semver.gt('14.0.0', nodeVer)) {
log.error('Please upgrade node version >= 14.0.0\n');
process.exit();
}
但如果我的Node版本小于14的时候,这个错误日志确实可以打印出来,但后面的process.exit();似乎没有效果,有什么方式可以中断此时的npm安装。。
我给npm包写了一个preinstall脚本,在包安装之前执行进行Node版本检查
if (semver.gt('14.0.0', nodeVer)) {
log.error('Please upgrade node version >= 14.0.0\n');
process.exit();
}
但如果我的Node版本小于14的时候,这个错误日志确实可以打印出来,但后面的process.exit();似乎没有效果,有什么方式可以中断此时的npm安装。。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
有效果的,但你需要返回非 0 的值:
P.S. 某些版本的 npm 表现比较怪异(7.x?见此 Issue:https://github.com/npm/cli/is...), preinstall 钩子居然是等到依赖安装完之后才执行。