最近,很多开发者在使用npm进行包管理时遇到了一个奇怪的错误,特别是在Windows环境下。这个问题不仅令人困惑,还严重影响了工作效率。本文将详细探讨这个问题的根源,并提供解决方案。
问题描述
当我在package.json文件中加入一个来自GitHub的私有包作为依赖时,尝试运行npm install或npm update命令时,安装过程总是失败,并返回以下错误:
UNABLE_TO_VERIFY_LEAF_SIGNATURE
我尝试了许多常规的解决方法,如:
- 回滚项目和包的版本
- 修改package.json中的依赖路径
- 删除node_modules目录和package-lock.json文件
- 设置npm config set cafile
- 设置npm config set strict-ssl false
但是,除了最后一个设置外,其余尝试都没有成功解决问题。
问题分析
经过仔细检查错误日志和社区反馈,我发现这个错误与证书验证有关。特别是,日志中提到:
Fetch

![[项目] --- 基于 Spring Boot + Redis的多设计模式抽奖系统-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261031220757-6ae666bdaa3f5-220x150.png)