NestJS+Firebase-Admin部署至Google App Engine Flex环境失败求助
解决GAE Flexible环境Node.js与firebase-admin版本兼容问题的方法
在package.json中强制指定Node.js版本
在package.json里添加engines字段,明确要求使用Node.js 16,Flex环境会优先读取这个配置:"engines": { "node": "16.x" }升级/锁定兼容的firebase-admin版本
确认你安装的firebase-admin版本支持Node.js 16,比如firebase-admin v10及以上版本对Node.js 16提供良好支持。执行命令安装指定版本:npm install firebase-admin@^10.0.0 --save安装完成后检查
package.json中的依赖版本,确保没有冲突。清理本地依赖缓存后重新部署
本地残留的旧依赖可能导致部署时环境不一致,执行以下操作:rm -rf node_modules package-lock.json npm install gcloud app deploy检查并移除冲突的版本配置文件
如果项目中有.nvmrc文件,确保其内容为16,否则Flex环境会使用该文件指定的Node.js版本,覆盖app.yaml的配置。同时检查package.json中的scripts命令,确认没有在构建过程中切换到其他Node.js版本。直接指定Flex环境的Node.js 16运行时
修改app.yaml的runtime配置,直接指定nodejs16,避免runtime_config可能的生效问题:runtime: nodejs16 env: flex
内容的提问来源于stack exchange,提问作者Blair Holmes
相关产品推荐
相关产品推荐

