NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景

windows11 node版本降低到v12.22.12后,执行:nvm -v
npm -v npm : 无法将"npm"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + npm -v + ~~~ + CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

公司有一个4-5年前的项目,今天突然说要调整一个小东西。前端工程给到后,拉取依赖,发现根本拉取不下来。项目没有相关记录说明,盲猜一下,node.js为14.x或更低的12.x,然后去官网比对一下,首先用node@14.21.3版本尝试,这边我是通过nvm管理node多版本的。安装14.21.3版本,npm版本对应的是npm@6.14.18,nvm安装后npm是正常的。由于还是没有拉取成功工程依赖,所以直接尝试node@12.22.12,这次使用nvm版本安装后,执行npm install,直接报:无法将"npm"项识别为 cmdlet、函数、脚本文件。 好嘛,直接卡住了,根据相关资料,这边是npm没有安装好。

通过 查找Node.js与npm版本比对 ,发现要安装对应npm@6.14.16,找到的方法是说要直接下载 npm@6.14.16,下载后,直接解压到nvm安装后的node@12.22.12的目录下。

处理步骤

下面是我处理的方法记录(共两个步骤):

步骤一:

找node与npm对应版本表。 这边我已经整理好文章了, Node.js与npm版本比对

步骤二:

下载 npm@6.14.16,下载后,解压到nvm安装后的node@12.22.12的目录下。

下面的我电脑本机的目录,仅供参考:
C:\Users\idosx\AppData\Roaming\nvm\v12.22.12\node_modules

截图中相关内容说明:

1)npm目录是解压后的

2)v6.14.16.zip是我下载的包: npm@6.14.16

3)复制文件
将npm文件夹里面的bin目录下的npm和npm.cmd两个文件复制一份到对应node版本的根目录下,如图:

其他指令说明:

3-1、指令查看 nvm 安装路径

>where nvm
C:\Users\idosx\AppData\Roaming\nvm\nvm.exe

3-2、

资料下载传送门:

1、npm其他版本包

2、另外一个链接:npm下载地址 (下载对应版本的zip文件)

3、node版本对应npm版本

参考资料

1、nvm-windows切换node版本不生效
2、NVM安装node后没有npm

相关推荐
我命由我1234527 分钟前
微信小程序 - 自定义实现分页功能
前端·微信小程序·小程序·前端框架·html·html5·js
程序员黄同学1 小时前
请谈谈 Vue 中的 key 属性的重要性,如何确保列表项的唯一标识?
前端·javascript·vue.js
繁依Fanyi1 小时前
巧妙实现右键菜单功能,提升用户操作体验
开发语言·前端·javascript·vue.js·uni-app·harmonyos
前端御书房1 小时前
前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
前端·javascript
web182854825121 小时前
nginx 部署前端vue项目
前端·vue.js·nginx
zy0101011 小时前
HTML标签
前端·css·html
程序员黄同学1 小时前
解释 Vue 中的虚拟 DOM,如何通过 Diff 算法最小化真实 DOM 更新次数?
开发语言·前端·javascript
蓝谷芮济2 小时前
二:前端发送POST请求,后端获取数据
前端
果粒chenl2 小时前
css+js提问
前端·javascript·css
memorycx2 小时前
Vue02
前端·javascript·vue.js