开发时经常遇到npm启动项目报错,报各种奇奇怪怪的错,
当错误不明确时,当你删除node_modules 重新安装依赖还是无果时,可以考虑是node版本的问题,尝试下更换版本。
但总不能卸载安装卸载安装的做重复劳动吧!此时是nvm大显神通的时候
nvm是什么?
nvm是一个node版本管理的工具,可以使用他安装多个node版本到本地,可以随意在本地node版本间切换。
安装nvm
重要注意:如果本地已经安装过node,先把旧的node卸载后再安装nvm
- 打开: https://github.com/coreybutler/nvm-windows/releases
- 选择 nvm-setup.zip 简单安装版
- 解压后直接安装,安装完后打开cmd,输入 ,查看版本,即表示安装成功
nvm -v
常用指令:
- nvm list 查看本地已经安装的node版本
- nvm list available 查看网络中能安装的node版本(可能列出来的有限,一般官网有的都能安装)
- nvm install node版本号 安装对应版本的node
- nvm use node版本号 切换成你喜欢的node版本
- node -v 查看当前使用的node版本
- npm -v 查看当前的npm版本
- .nvm root 查看nvm 的安装目录
4、安装node版本
nvm install 12.22.1
nvm install 14.17.0
5、nvm use 14.17.0,使用14.17.0版本,然后
- node -v,发现版本号对上了,
- npm -v 报错:‘npm’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
经过一波百度操作:
=============================================================
去到安装nvm的目录下是这样的:
路径:C:\Users\maybe\AppData\Roaming\nvm
如果你也出现我这种情况,版本文件夹里没有cmd 、npm.cmd ,同时node_modules里也是空的那么如下解决办法可参考:
去node官网下载对应的node版本,然后将里面的 cmd 、npm.cmd 、node_modules复制进刚C盘那对应node版本的文件夹里,再在cmd里测试下 npm -v 成功显示即可!
nvm升级
安装比较新版node后,切换后,npm -v 报错,Cannot find module ‘@npmcli/config’,此时可尝试升级nvm 解决。
(我本地是nvm 1.7安装node20.11.0 后切换报错)
nvm --version 查看nvm 的版本
1、前往https://github.com/coreybutler/nvm-windows/releases,下载exe 安装(不需要先卸载本地node),选择nvm 安装目录;选择node存放目录,默认是c盘,这步自定义会报错,已踩坑,需要查看下面 3 的自定义安装路径,
2、问题:node存放目录自定义,会导致后面nvm use 20.11.0后无法显示current use,且npm -v,node -v 报错,不是可执行的指令,
解决办法:只能重新安装一遍,此时node选c 默认的就行。安装完成,查看nvm node npm 均有版本号了。
此时cmd 输入命令查看环境变量中已有,关注NVM_HOME、NVM_SYMLINK
sysdm.cpl
3、自定义node 安装路径:
需要手动修改环境变量、系统环境变量,NVM_SYMLINK里的值为真实node的存放地址,参考上图
========================================完