每次执行npm命令都会出现下面的警告,很恼火
在网上找了一些解决方法,都没有得到解决。
原因:
本质上就是npm和node不配套,需要升级npm 或者node。
查询npm和node匹配关系:以往的版本 | Node.js
网上找的方法:
网上找到的方法大致就是:
1.查询node版本和npm版本,根据自己的node版本来更新npm 版本:npm install npm@8.3.1 -g。此时如果仍然报警告,依旧显示npm不支持这个版本 ,这说明npm存在旧的npm缓存,使用的还是旧的npm包。
2.在C:\Users\用户名\AppData\Roaming 根目录下删除npm,npm-cache两个文件,或者执行npm cache clean --force命令
3.在命令行工具中执行npm install npm@8.3.1 -g升级npm版本
但是这样还是不能解决问题,因为我的npm是跟着node一起安装的,npm路径是在随node安装到node根目录之下的:
而不是在配置环境变量时设置的node_global之下:
所以通过npm install npm@8.3.1 -g安装npm并不生效,npm环境还是用的node安装目录根目录下的npm,并没有用到刚安装的npm版本
新的解决方法:
方法一:
更新node安装根目录之下的npm包。例如将node安装根目录的node_modules之下的老的npm包删除,然后将你刚安装的node_global下的npm包复制到该目录。
然后再做npm命令就发现没有警告了。
方法二:
直接卸载node,重新下载安装新的node版本,当然这种方法稍微麻烦点,推荐第一种方法。