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

使用frontend-maven-plugin构建Angular项目时npm安装依赖报SSL3错误

问题根因
  • 你使用的Node 6.10.2版本早已停止维护,内置的OpenSSL版本过于老旧,无法兼容当前主流HTTPS站点使用的TLS协议版本、加密套件和证书签名规则,所有HTTPS请求都会触发SSL签名校验失败的错误,这是核心问题
  • 日志中的Python相关报错是次生问题:node-sass预编译二进制包下载失败后会自动触发本地编译流程,才会调用node-gyp检查本地编译环境,核心问题解决后不需要处理Python相关配置也能正常运行
解决方案

按可行性优先级排序:

方案1:升级Node版本(最推荐)

将frontend-maven-plugin中配置的Node版本升级到14.x及以上的长期支持版本,同步调整项目兼容的Angular、node-sass等依赖版本,从根本上解决旧版运行环境的兼容性问题。

方案2:配置国内HTTP镜像源(适配旧版本的首选方案)

在项目根目录的.npmrc文件中添加以下配置,全部使用HTTP协议的国内公开镜像,绕开HTTPS校验问题:

# npm 源使用国内HTTP镜像
registry=http://registry.npmmirror.com
# node-sass二进制包镜像
sass_binary_site=http://npmmirror.com/mirrors/node-sass
# node-gyp头文件镜像
node_gyp_disturl=http://npmmirror.com/mirrors/node
# 关闭SSL严格校验
strict-ssl=false

如果需要全局生效,直接执行以下命令配置:

npm config set registry http://registry.npmmirror.com
npm config set sass_binary_site http://npmmirror.com/mirrors/node-sass
npm config set node_gyp_disturl http://npmmirror.com/mirrors/node
npm config set strict-ssl false

方案3:临时关闭SSL校验(应急用,不推荐长期使用)

执行安装命令时临时添加参数跳过SSL校验:

npm install --strict-ssl=false

如果是Maven构建时生效,可以在frontend-maven-plugin的npm安装参数中添加--strict-ssl=false配置。

方案4:适配公司代理环境

如果当前网络处于公司代理环境,需要将代理服务器的根证书添加到npm信任列表:

npm config set cafile /path/to/your/proxy/root/cert.pem

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:06:03