npm ERR! code CERT_HAS_EXPIRED:解决证书过期问题

背景

当您在使用npm时遇到 **npm ERR! code CERT_HAS_EXPIRED**错误时,这通常是因为您的本地计算机上的根证书已过期。这个错误可能是由于您的操作系统或Node.js环境中的证书问题导致的。本文将介绍如何解决这个常见的问题,以确保您可以顺利使用npm进行包管理。

错误截图

bash 复制代码
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/@handsontable%2fvue failed, reason: certificate has expired

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\taylor\AppData\Roaming\npm-cache\_logs\2024-02-29T01_10_09_723Z-debug.log

解决方法

您可以尝试以下方法来解决这个问题:(一般只需要前两步就能解决问题)

1、清除npm缓存

bash 复制代码
npm cache clean --force

2、禁用SSL :虽然不推荐,但您可以暂时禁用SSL验证来解决这个问题。但请注意,这会降低安全性。您可以通过设置npm的 strict-ssl 选项为 false 来实现:

bash 复制代码
npm config set strict-ssl false

3、手动设置npm镜像源:有时,npm的默认镜像源可能会出现证书问题。您可以尝试切换到另一个镜像源,例如使用淘宝镜像。可以通过以下命令来设置:

bash 复制代码
npm config set registry https://registry.npm.taobao.org/

如果执行完以上命令还未解决,可以再尝试以下方法

4、更新npm和Node.js:尝试更新npm到最新版本。有时候,旧版本的npm可能会因为证书过期而无法正常工作。您可以使用以下命令来更新npm:

bash 复制代码
npm install -g npm@latest

5、更新操作系统:有时候,如果系统时间不正确,可能会导致SSL证书认证失败。因此,请确保您的系统时间设置正确。您可以使用以下命令来同步系统时间:

bash 复制代码
sudo ntpdate -u time.nist.gov

6、更新根证书 :有时,CERT_HAS_EXPIRED 错误可能是由于根证书或中间证书的过期引起的。你可以尝试手动更新你的根证书。具体步骤可能因操作系统而异,但通常可以通过以下方式来更新:

  • 在 Linux 上,你可以更新 ca-certificates 包。
  • 在 macOS 上,你可以更新 Keychain 中的根证书。
  • 在 Windows 上,你可以手动下载并安装最新的根证书。

通过以上方法,您应该能够解决npm ERR! code CERT_HAS_EXPIRED错误,顺利进行您的Node.js开发工作。如果您仍然遇到问题,建议查看npm官方文档或在开发社区中寻求帮助。祝您编程愉快!

感谢您阅读本文,欢迎"一键三连"。作者定会不负众望,按时按量创作出更优质的内容。

❤️ 1. 毕业设计专栏,毕业季咱们不慌,上千款毕业设计等你来选。

相关推荐
来杯@Java7 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
华大哥15 小时前
前后端分离实现五级行政区划树形菜单及设备查询管理
sqlite·vue·springboot
码界筑梦坊16 小时前
282-基于Python的豆瓣音乐可视化分析推荐系统
开发语言·python·信息可视化·数据分析·flask·vue
chushiyunen20 小时前
滑块验证(滑动验证)
vue
爱喝热水的呀哈喽21 小时前
npm 双网切换
前端·npm·node.js
wyc是xxs21 小时前
用纯 Node.js 写了一个 JS 解释器 — kernel-js-lite
开发语言·javascript·npm·node.js
bestlanzi1 天前
使用nvm管理node环境
前端·vue.js·npm
daqinzl2 天前
Mpegts.js+FFmpeg+WebSocket+Node实时视频流实现方案
websocket·ffmpeg·node·mpegts.js
Curvatureflight3 天前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
优雅格子衫3 天前
uniapp 拍照相册选取后超级好用的裁剪组件,增加水印完全自定义
开发语言·前端·javascript·uni-app·vue