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

Angular应用部署Vercel失败:npm run build报错及Node版本差异问题

Angular应用部署Vercel失败解决方案

问题根源

Vercel默认使用的Node.js版本(v18.13.0)和本地开发环境(v16.16.0)不一致,导致构建时触发ERR_OSSL_EVP_UNSUPPORTED错误。这是因为Node.js 18+默认禁用了旧版OpenSSL哈希算法,而你的Angular项目依赖的Webpack版本不兼容新算法。

解决方案

方案1:让Vercel使用和本地一致的Node.js版本

在项目根目录创建.nvmrc文件,写入:

16.16.0

或者在package.json里添加engines字段:

{
  "engines": {
    "node": "16.16.0"
  }
}

Vercel会自动识别这两个配置,用指定的Node版本构建,消除版本差异带来的问题。

方案2:修改构建命令兼容Node.js 18+

如果不想切换Node版本,直接修改package.json里的build命令,加上兼容环境变量:

{
  "scripts": {
    "build": "NODE_OPTIONS=--openssl-legacy-provider ng build"
  }
}

这个变量会强制Node.js使用旧版OpenSSL哈希算法,解决兼容性报错。

额外检查

确认Vercel构建设置的两个关键项:

  • Build Command:设为npm run build(如果改了命令就用修改后的)
  • Output Directory:Angular项目一般是dist/[你的项目名],要和本地ng build生成的目录一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:52:50