优秀的编程知识分享平台

网站首页 > 技术文章 正文

node 22.5.0 npm install 失败的问题如何解决

nanyue 2024-12-30 06:00:47 技术文章 3 ℃

使用淘宝镜像在Node.js环境中安装依赖时经常会出现一个问题,特别是CERT_HAS_EXPIRED错误和TLS验证问题。TLS证书的管理越来越严格,尤其是在Node.js和npm更新之后。用户在尝试切换到淘宝镜像时经常会遇到TLS验证错误。出现这种情况的原因是npm从v7版本开始增强了TLS证书验证,这意味着某些镜像源(包括淘宝镜像)可能没有及时更新或不支持最新的TLS协议。

问题检查在使用npm时,您面临以下挑战:

尝试使用命令npm cache clean --force清除npm缓存,无法正常重新安装。

使用ping https://registry.npm.taobao.org检查确认网络正常运行。

npm config get proxy和npm config get https-proxy都返回空值,说明没有代理异常。

使用 npm install -g npm 更新 npm 时,出现 invalid npm update 错误,但更新后依赖仍然无法成功安装。


研究该问题后,发现与 TLS 相关。解决流程如下:

解决问题的方法

更换镜像源,命令:npm config set registry https://registry.npm.taobao.org。

npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/miniprogram-api-typings/-/miniprogram-api-typings-3.12.0.tgz failed, reason: certificate has expired
npm ERR! A complete log of this run can be found in: C:\Users\uljdc\AppData\Local\npm-cache\_logs\2024-11-12T07_27_21_890Z-debug-0.log

关闭 TLS 证书验证:关闭 npm 的 TLS 证书验证,命令 npm config set strict-ssl false,解决了安装依赖的问题。此方法虽然可以绕过证书验证问题,但也带来了潜在的安全风险,尤其是在与可能受到中间人攻击等威胁的公共 npm 存储库交互时。安装成功完成。

最近发表
标签列表