根据Firebase文档,部署功能时应将
Loaded environment variables from .env.
打印到控制台。我的函数在src/functions/functions.ts
内导出。这是在我的 package.json
文件中指定的:
main: lib/src/functions/functions.js
(因为我使用的是TypeScript,所以我必须在lib
中指定生成的javascript文件)。
我尝试在根目录和
src/functions/
文件夹中找到 .env 文件。它们都不起作用。有人有什么想法吗?
我也有同样的问题。我能够通过将 .env 文件移动到项目的基础来解决这个问题。
示例:
希望对您有帮助 结构
编辑:删除了多余的“.”在.env
之后我遇到了同样的问题,结果发现全局安装的
firebase-tools
版本用于部署,而npm install -g firebase-tools
未更新。
解决方案:
firebase-tools
版本:firebase --version
应大于11which firebase
/usr/local/bin/firebase
运行 sudo rm -rf /usr/local/bin/firebase
npm uninstall -g firebase-tools
npm install -g firebase-tools
firebase --version
。截至 2022 年 10 月 1 日:11.13.0检查
firebase-debug.log
后,我发现我使用的密钥无法验证,因为我使用了保留前缀FIREBASE_
。错误信息:
Failed to validate key FIREBASE_API_KEY: Error: Key FIREBASE_API_KEY starts with a reserved prefix (X_GOOGLE_ FIREBASE_ EXT_)
迄今为止保留的前缀包括
(X_GOOGLE_ FIREBASE_ EXT_)
import dotenv from "dotenv"; (ES Modules)
或
const dotenv = require('dotenv); ( CommonJs )
然后
dotenv.config({ path: {PATH to your .env file})
如果您不知道如何获取路径:右键单击 vscode 中的 .env 文件 => 选择复制路径
您的环境应该正常工作