Firebase Functions是否支持将Node.js 18设为package.json的engine参数?
Firebase Functions 支持 Node.js 18 吗?
直接说结论:你的当前配置不支持,问题出在依赖版本过低——报错提示里的支持版本(10/12/14/16)是旧版Firebase Functions的限制,新版已经支持Node.js 18了。
问题根源
你package.json里的firebase-functions版本是^3.19.0,firebase-admin是^8.13.0——这两个版本都不兼容Node.js 18。Firebase Functions从v4.0.0版本开始正式支持Node.js 18,同时要求配套的firebase-admin至少升级到v11.0.0以上。
解决步骤
- 升级核心依赖
执行命令更新firebase-functions和firebase-admin到最新兼容版本:npm install firebase-functions@latest firebase-admin@latest - 升级Firebase CLI
旧版CLI无法识别Node.js 18的配置,需要升级到最新版:npm install -g firebase-tools - 更新类型依赖
你的@types/node版本是^13.1.7,和Node.js 18不匹配,建议升级到18.x版本:
另外检查其他依赖(比如npm install @types/node@18 --save-devexpress、axios等),如果有版本过低导致的Node.js 18兼容性问题,也需要同步升级。 - 保留engines配置
你的engines字段设置本身没问题:
升级完成后这个配置就会被正常识别。"engines": { "node": "18" }
验证
升级完成后先本地测试:
npm run serve
或者启动函数shell:
npm run shell
确认没有报错后再执行部署:
npm run deploy
内容的提问来源于stack exchange,提问作者kumar prashant
相关产品推荐
相关产品推荐

