背景
node已经出到了17的版本了,但是我的电脑还是14的版本,也不想升级。因为之前下载vite的项目时候,发现用node16就有问题了,所以我就不是很想升级。
但有时候开发一些项目,都已经需要node16了,真是没办法。
此时可以用nvm来管理node版本。
安装nvm
先到官网下载nvm:Releases · coreybutler/nvm-windows (github.com)
然后一键安装就行了。
因为电脑之前安装过了node,所以nvm问你是否让它控制你这个版本,我们选择是。
安装好后,输入nvm,出现版本号,就说明安装成功了。
此时我们输入node -v 查看版本。(如果之前的node不是安装在c盘的,这里会报错,不过不用管它。)
再输入nvm ls 查看可用的版本。(如果node不是安装在C盘的,这里是空的,不过也不用担心。)
配置nvm镜像
到nvm的安装目录去修改镜像,加快下载 C:\Users\dgbuaa\AppData\Roaming\nvm
把这两句复制进去:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
复制代码
下载node版本
下载最新版的node 16.13.1,nvm install 16.13.1
。(在这里会停住大概10分钟不动,但绝不是卡了,而是在下载,请不要关闭窗口。)
下载完后,查看node列表,nvm ls
切换node版本
然后切换node版本,此时需要右键管理员打开,否则切换不了,会报错。
然后就成功切换node版本了。
注意
在使用npm的全局包时,有可能会找不到,因为被单独放到了各自版本的node_modules中,所以在使用各自的node版本的时候,有可能都需要在安装一遍全局包。
npm镜像管理器
我看现在还是有很多文章在介绍如何给npm配置淘宝镜像,我其实是不太推荐这种做法的。因为淘宝源上的npm包会做一层处理的,有时候用淘宝源上的镜像包在项目中是运行不起来的,需要切回npm源来下载。所以我推荐用nrm包来管理npm镜像的镜像源,这样来回切换的时候也方便很多。
nrm的下载就没有nvm那么麻烦了,直接全局安装nrm。
npm i nrm -g
复制代码
查看镜像
输入nrm ls,查看可用的npm镜像。
npm测速
输入nrm test,查看下载速度
切换淘宝源
输入nrm use taobao,这个不用管理员打开也能切换。以前是有个*表示当前使用的npm镜像的,现在就看不到了,只有在nrm test的时候才能看到,不知道是我的电脑的问题还是nrm的版本的问题,不过现在就是用淘宝的镜像了。
使用npm查看也是用淘宝的镜像,npm config get registry
添加镜像源
但是我们发现这个url地址和市面上推荐的taobao源地址不一样,我们可以自行添加一个新的taobao2源
nrm add taobao2 http://registry.npm.taobao.org/
复制代码
这样就多了一个taobao2出来
我们测一下速:nrm test,
发现确实是比nrm自带的淘宝源要快一点。
删除镜像源
如果有一天它失效了,我们就怒删它!nrm del taobao2,这样就删除掉了自己添加的源。
再测试一下,nrm test
删除nrm自带的镜像源
我们发现npmMirror居然这么慢!但是nrm自带的源用nrm del是删不掉的,我们要到nrm的全局配置中去删除掉它。
找到nrm的安装目录:C:\Users\【你自己的用户名】\AppData\Roaming\npm\node_modules\nrm
,修改registries.json
查看源,这样就删除了
nvm参考文章:juejin.cn/post/701139…