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

Angular Jenkins构建报0308010C:digital envelope routines::unsupported错误如何解决

报错原因

该报错和primeng模块无关联,属于Node.js版本与项目构建工具的兼容性问题:

Error: error:0308010C:digital envelope routines::unsupported 是Node v17及以上版本默认启用OpenSSL 3.0后,与Angular 8依赖的低版本Webpack不兼容触发的报错。旧版Webpack使用的哈希算法不在OpenSSL 3.0的默认支持范围内,所以会构建失败。

你本地使用Node 14.16.0版本,不存在该兼容性限制,所以本地构建正常,问题根源是Jenkins运行环境使用的Node版本高于v16。

修复方案
  • 方案1:统一Jenkins环境的Node版本为14.x
    是兼容性风险最低的方案,和本地开发环境保持一致即可。如果你的Jenkins安装了NodeJS插件,直接在构建任务的配置中,选择对应14.x版本的Node运行环境即可。
  • 方案2:添加环境变量兼容高版本Node
    若无法调整Jenkins的Node版本,可以在构建命令前新增OpenSSL旧版支持的参数:
    • Linux/macOS构建环境:修改构建命令为 NODE_OPTIONS=--openssl-legacy-provider ng build
    • Windows构建环境:修改构建命令为 set NODE_OPTIONS=--openssl-legacy-provider && ng build
  • 方案3:升级项目依赖(改动成本高,非必要不选)
    如果需要长期使用高版本Node环境,可以将Angular版本升级到14及以上,同时匹配升级primeng、primeicons等相关依赖的对应兼容版本,从底层解决兼容性问题,升级完成后需要做全量功能回归测试。

内容的提问来源于stack exchange,提问作者Arjun C E

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:15:06