【那些年踩过的坑-前端篇- Mac版本】npm init vite 失败,报错`CERT_HAS_EXPIRED npm ERR

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/
相关推荐
GDAL3 天前
npm入门教程8:缓存管理
前端·缓存·npm
GDAL3 天前
npm入门教程18:npm发布npm包
前端·npm·node.js
GDAL3 天前
npm入门教程9:npm配置
前端·npm·node.js
HOOLOO3 天前
Laravel/Sail 中修改npm源的问题
npm·php·laravel
GDAL3 天前
npm入门教程4:npm基本操作
前端·npm·node.js
GDAL4 天前
npm入门教程5:package.json
前端·npm·json
校长20084 天前
如何更新已经发布的 NPM 组件库
npm·node.js·vue
waketzheng4 天前
像`npm i`作为`npm install`的简写一样,使用`pdm i`作为`pdm install`的简写
前端·npm·node.js
GDAL4 天前
npm入门教程19:npm包管理
前端·npm·node.js