Firebase部署Cloud Functions报Cloud Runtime Config故障
问题根因
两个报错属于同一问题触发的连锁反应,和Node.js版本无直接关联:
- 生产环境返回的
Cloud Runtime Config is currently experiencing issues, which is preventing your functions from being deployed.是误导性通用报错,本质是v11.18.0及以上版本的Firebase CLI新增了.env文件保留字校验逻辑,校验失败时未正确抛出真实错误,直接返回了服务异常类的通用提示 - Staging环境返回的
Error: Failed to load environment variables from .env.: Error Key GCLOUD_PROJECT is reserved for internal use.才是真实错误:新版CLI禁止用户在自定义环境变量文件中手动配置框架内部自动注入的保留字段,旧版CLI无该校验规则,因此升级前部署可正常执行。
之前尝试切换Node版本、修改package.json的engines字段、删除云端函数后重部署均无效,原因是问题出在本地项目配置与新版CLI的校验规则冲突,和云端资源、Node版本兼容性无关。
修复步骤
- 打开函数项目根目录下所有环境变量文件,包含
.env、.env.production、.env.staging、.env.local等所有.env前缀的配置文件,删除其中手动配置的GCLOUD_PROJECT=xxx行。该变量为Firebase内部保留变量,部署及运行时会自动注入当前项目ID,无需用户手动配置。 - 同步检查配置文件中是否存在其他保留字段,存在则一并删除,常见保留字段如下:
FIREBASE_CONFIG FUNCTION_TARGET FUNCTION_SIGNATURE_TYPE K_SERVICE K_REVISION PORT
- 清理本地缓存后重新部署,依次执行以下命令:
firebase clear:cache firebase deploy --only functions
兜底方案
如果完成上述操作后仍然报Runtime Config相关错误,可以将Firebase CLI回退到v11.17.0版本,该版本未上线保留字强校验逻辑,不会触发该问题。
内容的提问来源于stack exchange,提问作者Seth Merritt
相关产品推荐
相关产品推荐

