CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to htt
开发中vue3项目执行npm init vite 命令报错了,vite 需要node.js版本>= 12.0.0
bash
beiluo@beiluodeMBP vue3-demo % node -v
v16.13.0
beiluo@beiluodeMBP vue3-demo % npm init vite
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/create-vite failed, reason: certificate has expired
npm ERR! A complete log of this run can be found in:`
npm ERR! /Users/beiluo/.npm/_logs/2024-10-31T15_06_17_487Z-debug.log
CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to htt
报错解释:
这个错误通常表示你的计算机无法验证SSL证书的有效性,因为证书已经过期。这可能是因为你的系统时间不正确,或者是因为你的Node.js环境中的证书库过时。
解决方法:(我是使用了清除缓存好了)
1、清除npm缓存
bash
npm cache clean --force
2、检查系统时间:
确保你的计算机的日期和时间是正确的。错误的系统时间可能会导致SSL证书验证失败。
3、更新Node.js:
如果你使用的是较旧版本的Node.js,尝试更新到最新稳定版本。
mac更新方法参考我的文章:【那些年踩过的坑-前端篇- Mac版本】Mac电脑如何升级node.js
4、更新操作系统:
确保你的操作系统是最新的,因为它可能包含最新的证书更新。
bash
npm install -g npm@latest
5、 使用环境变量跳过SSL验证(不推荐,仅作为临时解决方案):
bash
npm set strict-ssl=false
mac路径:~/.npmrc
Windows路径:C:\Users.npmrc
这会让npm忽略SSL证书错误,但会降低你的网络安全性。
确保在解决问题后重新启用strict-ssl,或者使用更安全的方式处理证书问题。
6、手动设置registry
尝试手动设置registry为淘宝镜像或者其他镜像源,如下
查看自己的下载源
bash
npm config get registry
发现我们之前配置了下载镜像源为https开头的,
bash
https://registry.npm.taobao.org/
执行命令清除npm缓存
bash
npm cache clean --force
执行命令取消ssl验证
bash
npm config set strict-ssl false
再次执行npm install ***,还不行可以尝试设置你的npm镜像源为http开头的,不使用https
bash
npm config set registry http://registry.npm.taobao.org
最新的淘宝镜像
bash
npm config set registry https://registry.npmmirror.com/