npm 错误:request to https://registry.npm.taobao.org/ failed, reason: certificate has expired
报错信息
信息原因
从报错信息不难看出:以前经常使用的淘宝镜像https://registry.npm.taobao.org/的证书过期了,就是该域名的备案证书过期了。
网上一查才知道 2021年11月12日淘宝就发过文:
淘宝NPM 镜像站喊你切换新域名啦。新的Web 站点:https://npmmirror.com,Registry Endpoint:https://registry.npmmirror.com。随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务
但似乎直到2024年1月24日才完全失效,这也导致在此之前使用旧域名镜像源仍未暴露问题,原文链接:https://zhuanlan.zhihu.com/p/432578145
文章主要内容如下:
解决方法
既然淘宝已经换了新域名,那就将原先配置的npm镜像源更改就好了
- 查看当前npm镜像:
npm config get
查看registry字段值,如果当前配置的镜像就是旧的淘宝镜像,就需要更改
- 配置新的镜像即可:
npm config set registry https://registry.npmmirror.com
看到网上有的朋友在第二步配置新镜像前会先清空缓存:
npm cache clean --force
,我没执行这一步也能成功,所以因人而异,大概涉及npm的缓存腐败问题,详见这篇文章:https://blog.csdn.net/baidu_16839249/article/details/85007365
- 再次查看镜像配置情况:
npm config get
新镜像配置成功!