网站首页 > 技术文章 正文
使用淘宝镜像在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 存储库交互时。安装成功完成。
猜你喜欢
- 2024-12-30 go-admin开源项目,快速搭建一个管理后台系统,直接二次开发上线
- 2024-12-30 Ollama教程:本地LLM管理、WebUI对话、Python/Java客户端API应用
- 2024-12-30 Go 项目推荐之 go-admin go的项目
- 2024-12-30 nodejs多版本管理工具 nodejs 版本
- 2024-12-30 npm提示 sill idealTree buildDeps(安装element-ui组件库)
- 2024-12-30 CentOS+Nexus搭建npm私有仓库并推送代码
- 2024-12-30 内网npm私有仓库搭建以及使用教程
- 2024-12-30 TS,TypeScript,Windows环境下构建环境,安装、编译且运行
- 2024-12-30 如何提高npm 下载依赖过慢的问题 npm下载包
- 2024-12-30 使用 Verdaccio 搭建npm私有仓库 搭建自己的npm
- 05-16在实际操作过程中如何避免出现SQL注入漏洞
- 05-16MySQL中 in数量限制
- 05-16一文讲懂SQL筛选子句HAVING子句
- 05-16性能调优实战:Spring Boot 多线程处理SQL IN语句大量值的优化方案
- 05-16sqlserver数据库中的模糊查询like和通配符的使用
- 05-16SQL必备 和 表关联
- 05-16SQL Server优化50法
- 05-16他们一直都在!最新强军大片来了
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)