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

为何设置npm registry为HTTP后仍使用HTTPS请求?

问题原因及解决方案

核心原因

你设置的http://registry.npmjs.org/会被npmjs官方服务器强制301重定向到HTTPS地址,所以即便你配置了HTTP的registry,实际请求还是会被转到HTTPS,进而触发本地证书验证失败的错误。

另外也需排查以下潜在情况:

  • 检查是否存在**环境变量NPM_CONFIG_REGISTRY**覆盖了你的全局配置,部分系统会通过环境变量强制指定HTTPS的registry
  • 确认项目本地的.npmrc文件(如果存在)没有单独设置不同的registry,本地配置优先级高于全局配置

解决办法

根据需求可选择以下方案:

  1. 修复HTTPS证书验证问题(推荐)
    • 配置本地可信根证书:
      npm config set cafile /path/to/your/root-ca.crt
      
    • 临时跳过证书验证(仅测试场景使用,不推荐生产环境):
      npm config set strict-ssl false
      
  2. 直接使用HTTPS的registry
    既然HTTP会被强制重定向,不如直接配置HTTPS地址,再结合证书配置解决验证问题:
    npm config set registry https://registry.npmjs.org/
    
  3. 使用支持HTTP的第三方镜像
    若确实需要HTTP的registry,可切换到支持HTTP的镜像源:
    npm config set registry http://registry.npmmirror.com/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:54:55