You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

因本地证书问题无法通过npm安装Express及相关包求助

解决npm安装包时UNABLE_TO_GET_ISSUER_CERT_LOCALLY错误

问题本质

这个错误是本地系统的SSL根证书链不完整,导致npm无法验证npmjs registry的HTTPS证书。哪怕是免费包,npm通过HTTPS访问registry时必须验证证书——这是HTTPS的安全机制,目的是防止中间人攻击,和包是否免费无关。

可行解决方案

1. 补全根证书链

  • 访问https://registry.npmjs.org,通过浏览器导出网站的根证书(以Chrome为例:点击地址栏锁图标→「证书」→「详细信息」标签→「复制到文件」→选择「Base64编码的X.509(.CER)」格式保存)
  • 把证书路径配置给npm:
    npm config set cafile "/绝对路径/你的根证书文件.crt"
    
  • 或者直接将证书导入系统的根证书存储:
    • Windows:打开「证书管理器」→找到「受信任的根证书颁发机构」→右键导入证书
    • macOS:打开「钥匙串访问」→切换到「系统」「证书」分类→导入证书后,右键选择「显示简介」→将「信任」设置为「始终信任」

2. 排查代理/防火墙干扰

如果是在公司内网环境,大概率是代理做了SSL拦截,此时禁用strict-ssl也没用,需要:

  • 配置npm使用代理:
    npm config set proxy http://你的代理地址:端口
    npm config set https-proxy http://你的代理地址:端口
    
  • 同时把代理的根证书导入系统或配置到npm的cafile中

3. 清理缓存后重试

旧缓存的证书信息可能导致冲突,执行以下命令重置后再安装:

npm cache clean --force
rm -rf node_modules package-lock.json
npm install express

4. 临时强制禁用SSL校验(仅临时测试用)

如果上面的方法都不行,试试在安装命令里直接临时禁用,避免全局配置不生效的问题:

npm install express --strict-ssl false

验证配置是否生效

执行npm config list查看输出,确认strict-ssl、registry、cafile等配置是否符合预期,如果有冲突的配置项,手动删除即可。

内容的提问来源于stack exchange,提问作者AvidDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:22:05