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

相关推荐
RaidenLiu4 分钟前
从 Provider 迈向 Riverpod 3:核心架构与迁移指南
前端·flutter
前端进阶者5 分钟前
electron-vite_18Less和Sass共用样式指定
前端
数字人直播7 分钟前
稳了!青否数字人分享3大精细化AI直播搭建方案!
前端·后端
江城开朗的豌豆10 分钟前
我在项目中这样处理useEffect依赖引用类型,同事直呼内行
前端·javascript·react.js
听风的码13 分钟前
Vue2封装Axios
开发语言·前端·javascript·vue.js
转转技术团队13 分钟前
前端安全防御策略
前端
掘金一周19 分钟前
被老板逼出来的“表格生成器”:一个前端的自救之路| 掘金一周 8.21
前端·人工智能·后端
cc_z25 分钟前
vue代码优化
前端·vue.js
龙在天29 分钟前
你只会console.log就Out了
前端
用户6817224572130 分钟前
h5实现点击电话进入拨打电话功能
前端