已安装nodejs,abp install-libs 提示错误NPM is not installed

现象

已经安装了nodejs。abp安装lib报错
abp install-libs
[22:59:18 INF] ABP CLI (https://abp.io)
[22:59:19 INF] Version 5.3.2 (Stable)
[22:59:20 WRN] NPM is not installed, visit https://nodejs.org/en/download/ and install NPM

解决方案

npm -v查看版本结果有一段警告,需要把这段警告去除,abp才能正确识别npm版本号

npm -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.11.0

windows下需要把D:\nodejs\npm.cmd 修改一下
已安装nodejs,abp install-libs 提示错误NPM is not installed_第1张图片
如上图,红色框选部分,修改之前是 -g
参考 https://blog.csdn.net/weixin_45771601/article/details/125263816

调查过程

不过我认为这部分abp也有一部分问题,为了解决这个问题,我去翻了一下abp源码,
是因为abp判断npm的方式就是执行一下npm -v然后读取第一行返回的版本号
然后正好npm.cmd脚本又有点问题,每次npm执行时,第一行永远是警告信息。
然后abp解析不出版本号了。
abp的相关源码位置https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/LIbs/InstallLibsService.cs#L52
InstallLibsAsync方法中,调用了NpmHelper.IsNpmInstalled
已安装nodejs,abp install-libs 提示错误NPM is not installed_第2张图片
懒得贴了,就到这吧,一看SemanticVersion.TryParse就知道了,解析第一行版本号出错了呗。


//已经安装nodejs 
//abp install-libs NPM is not installed, visit https://nodejs.org/en/download/ and install NPM 

你可能感兴趣的:(npm,node.js,前端)