Node.js 14部署Firebase Functions遇body-parser构建失败问题求助
解决Node.js 14部署Firebase Functions时的body-parser错误
问题根源是当前依赖包版本过高,不兼容Node.js 14环境,尤其是firebase-functions、mssql及部分开发依赖要求Node.js 16+,导致安装时出现异常。按以下步骤修复:
1. 降级不兼容的依赖版本
修改package.json中的依赖版本,替换为支持Node.js 14的兼容版本:
修改后的dependencies部分:
"dependencies": { "body-parser": "^1.20.2", "cors": "^2.8.5", "express": "^4.18.2", "mssql": "^8.1.2", "short-uuid": "^4.2.2", "firebase-admin": "^11.11.0", "firebase-functions": "^3.24.1" }
修改后的devDependencies部分:
"devDependencies": { "@types/mssql": "^7.1.14", "@types/cors": "^2.8.13", "@types/express": "^4.17.17", "@types/node": "^14.18.63", "@types/body-parser": "^1.19.2", "concurrently": "^7.6.0", "nodemon": "^2.0.22", "typescript": "^4.5.4", "firebase-functions-test": "^2.3.3" }
关键版本说明:
firebase-functionsv3.x是最后支持Node.js 14的分支,v4.x要求Node.js 16+mssqlv8.x支持Node.js 14,v9.x要求Node.js 16+concurrentlyv7.x、nodemonv2.x兼容Node.js 14,v8/v3版本不再支持@types/node需匹配Node.js 14的类型定义
2. 清理并重新安装依赖
执行以下命令彻底重置依赖:
rm -rf node_modules package-lock.json npm install
3. 本地验证与部署
- 先运行本地模拟器测试:
npm run serve,确认功能正常无报错 - 测试通过后执行部署:
npm run deploy
额外注意
- 确保本地开发环境使用Node.js 14(可通过
nvm use 14切换版本) tsconfig.json中的target: es2019与Node.js 14兼容,无需修改
内容的提问来源于stack exchange,提问作者Leonvb
相关产品推荐
相关产品推荐

