npm坏了?遇到error (CERT_HAS_EXPIRED). Will retry in 10 seconds怎么办?

429 阅读1分钟

又是美好的周一,来个npm i开始今天的工作!

what?!接着是不是像这样?

image.png

或者这样?

image.png

啥情况,我啥也没干啊!别慌,只是taobao镜像的ssl过期了。1月22日左右过期的!! 找到原因,我们来搞定下!两个命令上手解决下:

清除npm缓存

npm cache clean --force

取消ssl验证

npm config set strict-ssl false  

之后再npm i / 或 pnpm i 你想安装的东西

再不行的话,plan B

使用cnpm或切换镜像源

  • 先来查看下镜像源

    npm config get registry
    
  • 原有镜像源

    npm config set registry http://registry.cnpmjs.org
    
  • taobao镜像源

    npm config set registry http://registry.npm.taobao.org
    
  • 顺带附上cnpm的安装方法

    npm install -g cnpm
    
    # 确认是否安装成功
    cnpm -v
    
  • 温馨提示:自己发布的npm包,会有一点延迟cnpm,好像是 5 分钟还是 10 分钟。需要立即同步可以运行cnpm sync <package name>

  • 比如我们专门用来初始化项目的包:npm i initobj-cli -g,同步最新版本:cnpm sync initobj-cli即可!