Firebase Functions环境变量不生效问题排查求助
问题原因及解决方案
核心原因
- Firebase Functions本地开发时,默认只会自动加载functions根目录下的
.env文件,不会识别自定义命名的test.env文件,这是process.env.TEST返回undefined的主因。 - Node.js环境本身不会自动读取非默认命名的环境变量文件,若要使用自定义文件名,必须显式通过工具加载。
具体解决步骤
使用默认.env文件名
将test.env重命名为.env,放置在functions文件夹根目录下,Firebase CLI会自动将文件中的变量注入本地运行环境。显式加载自定义.env文件(如需保留test.env)
若必须使用test.env,需安装dotenv包并在代码中手动加载:npm install dotenv --save-dev在函数入口文件顶部添加代码:
require('dotenv').config({ path: './test.env' });修正环境变量格式
环境变量文件中无需给值加引号,标准写法为TEST=TEST NAME,避免因格式问题导致变量无法被正确解析。重启本地服务
修改环境变量文件后,必须重启firebase serve命令,新的环境变量才能生效。版本兼容性说明
你使用的firebase-functions 3.23.0与Firebase CLI 11.8.0版本组合不存在兼容性问题,只需调整环境变量加载逻辑即可。
内容的提问来源于stack exchange,提问作者Abraham
相关产品推荐
相关产品推荐

