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

Angular 12项目Node.js版本兼容性冲突问题求助

Angular 12项目Node版本兼容问题解决方案

问题根源

你遇到的是两类冲突:

  1. 项目依赖的Angular CLI 12要求Node.js 12.14.0/14.15.0,但如果调用了全局高版本CLI,会强制要求Node 18.13+
  2. Node 18+启用了OpenSSL 3.0,Angular 12的构建工具使用的旧哈希算法不兼容,导致编译报错

方案一:使用项目本地CLI(推荐,符合官方版本要求)

直接调用项目依赖的Angular CLI 12,避免全局高版本CLI干扰:

  • Windows命令提示符执行:
    npx ng serve
    
    或者直接调用本地CLI文件:
    .\node_modules\.bin\ng.cmd serve
    
    这样在Node.js 12.14.0或14.15.0环境下,就能正常启动项目,不会出现CLI版本不匹配的提示。

方案二:在Node 18+环境下解决编译报错

如果必须使用Node 18+,通过设置环境变量兼容旧哈希算法:

临时启动(每次执行都要设置)

  • 命令提示符(cmd):
    set NODE_OPTIONS=--openssl-legacy-provider && ng serve
    
  • PowerShell:
    $env:NODE_OPTIONS="--openssl-legacy-provider"; ng serve
    

永久配置到package.json

修改项目根目录的package.json,更新scripts里的相关命令:

"scripts": {
  "serve": "set NODE_OPTIONS=--openssl-legacy-provider && ng serve",
  "build": "set NODE_OPTIONS=--openssl-legacy-provider && ng build",
  // 其他构建类脚本可同理添加环境变量
}

之后直接执行npm run serve或npm run build即可自动加载兼容配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:07:33