Firebase 函数未加载 .env 文件

问题描述 投票:0回答:4

根据Firebase文档,部署功能时应将

Loaded environment variables from .env.
打印到控制台。我的函数在
src/functions/functions.ts
内导出。这是在我的
package.json
文件中指定的:
main: lib/src/functions/functions.js
(因为我使用的是TypeScript,所以我必须在
lib
中指定生成的javascript文件)。

我尝试在根目录和

src/functions/
文件夹中找到 .env 文件。它们都不起作用。有人有什么想法吗?

firebase deployment google-cloud-functions environment-variables
4个回答
2
投票

我也有同样的问题。我能够通过将 .env 文件移动到项目的基础来解决这个问题。

示例:

  • 函数/.env
  • 函数/.env.qa
  • 函数/.env.dev
  • 函数/.env.etc

希望对您有帮助 结构

编辑:删除了多余的“.”在.env

之后

0
投票

我遇到了同样的问题,结果发现全局安装的

firebase-tools
版本用于部署,而
npm install -g firebase-tools
未更新。

解决方案:

  1. 确认
    firebase-tools
    版本:
    firebase --version
    应大于11
  2. 检查二进制文件在哪里:
    which firebase
  3. 如果在
    /usr/local/bin/firebase
    运行
    sudo rm -rf /usr/local/bin/firebase
  4. 如果它位于某个与节点相关的文件夹中,请尝试
    npm uninstall -g firebase-tools
  5. 重新安装:
    npm install -g firebase-tools
  6. 确认位置和版本:
    firebase --version
    。截至 2022 年 10 月 1 日:11.13.0

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_)

-1
投票
  1. 尝试将 .env 文件移动到根目录。
  2. 在您需要环境变量的文件中,运行此
import dotenv from "dotenv"; (ES Modules)

const dotenv = require('dotenv); ( CommonJs )

然后

dotenv.config({ path: {PATH to your .env file})

如果您不知道如何获取路径:右键单击 vscode 中的 .env 文件 => 选择复制路径

您的环境应该正常工作

© www.soinside.com 2019 - 2024. All rights reserved.