目录
1、方法一:在npm官网搜索对应的模块,看看是否有最新版本的存在?
2、方法二:排查本地使用的是什么镜像?
3、方法三:将淘宝镜像切换成npm镜像
1、方法一:在npm官网搜索对应的模块,看看是否有最新版本的存在?
npm官网:npm
① 如果没有,说明新版本没有发布到npm上,需要重新发布;
② 如果有,那可能是镜像的问题;
2、方法二:排查本地使用的是什么镜像?
无法下载 npm 上最新版本的模块,大概是因为当前环境使用的是淘宝镜像。
我们将包/模块发布到 npm 后,对应的是 npm 官网的镜像。而很多开发者本地都是淘宝镜像,下载的时候自然也是从淘宝镜像中拉取。
这样就会存在淘宝镜像同步官网镜像时间差的问题。如果我们发布 npm 到安装模块之间的时间比较短的话,很有可能淘宝镜像还没有更新到最新版本的模块,就会导致安装到的是老版本或者直接报错找不到最新版本模块。
也就是说,淘宝镜像还没有同步到最新的(私有库同步比较慢)。
解决办法:
去到淘宝镜像(npmmirror 镜像站),然后输入模块名进行查询。
① 如果能查到该包对应的最新版本号,那就说明已经同步到最新版本啦~~~~;
② 否则,点击 SYNC 立即同步最新版本!!!!!!!!!再重新下载试试哦~~~~~~~~~~
3、方法三:将淘宝镜像切换成npm镜像
① 查看本地的 npm 配置项,也就是本地的 npm config list
如下:说明本地的镜像是 npm 镜像
E:\测试>npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.16 node/v12.18.3 win32 x64"
; userconfig C:\Users\DO1\.npmrc
registry = "https://registry.npmjs.org/"
如下:说明本地的镜像是淘宝镜像
E:\测试>npm config list
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.14.16 node/v12.18.3 win32 x64"
; userconfig C:\Users\DO1\.npmrc
registry = "https://registry.npm.taobao.org/"
② 如果你的依赖用的是cnpm,cnpm是从淘宝镜像中拉取依赖的,而私有库同步又比较慢,所以可以通过切换镜像,来拉取最新版本依赖。
将npm镜像切换成淘宝镜像:
npm config set registry https://registry.npmjs.org
切换完成之后,就可以正常下载最新版本啦~~~