Angular项目ng serve正常,Vercel发布时npm run build报错126
解决Angular项目部署Vercel时
npm run build退出码126的问题 问题说明
本地用ng serve运行Angular项目正常,但Vercel部署时出现Error: Command "npm run build" exited with 126错误。
错误本质
退出码126对应两种常见情况:一是指定的命令无执行权限,二是命令在当前环境中不存在。结合Vercel部署场景,主要排查脚本配置、环境一致性和权限问题。
修复方案
校验package.json的build脚本
确保scripts字段中的build命令为Angular标准格式,比如:"scripts": { "build": "ng build --configuration production" }若自定义了命令,需保证
ng命令能在Vercel环境中被正确识别。配置Vercel专属构建规则
在项目根目录创建vercel.json文件,明确构建命令和产物目录:{ "buildCommand": "npm run build", "outputDirectory": "dist/你的项目名称" }替换
你的项目名称为Angular构建后生成的dist子目录实际名称。修复ng命令权限
本地执行以下命令赋予ng脚本执行权限,再提交到Git仓库后重新部署:chmod +x node_modules/.bin/ng统一Node.js版本
Vercel默认Node版本可能与本地不一致,在项目根目录创建.nvmrc文件,指定和本地相同的Node版本(比如18.17.0),强制Vercel使用对应环境构建。确保依赖锁文件已提交
将package-lock.json或yarn.lock提交到Git仓库,避免Vercel安装依赖时出现版本不一致的问题,保证构建环境与本地一致。
内容的提问来源于stack exchange,提问作者Zahid Hasan
相关产品推荐
相关产品推荐

