47

Cloud Functions for Firebase 刚刚发布,我正在按照全新安装的说明进行操作。这是“开始”页面。

我已经安装了“npm install -g firebase-tools”并且我的所有文件都在我的项目中。我正在使用 WebStorm 2016.3 和 Node.JS v6.10.0。

我还安装并设置了 firebase login 和 firebase init 功能。我的设置。 这是我的设置。

我的 package.json

 {
   "name": "functions",
   "description": "Cloud Functions for Firebase",
    "dependencies": {
     "firebase-admin": "^4.1.2",
     "firebase-functions": "^0.5"
   },
    "private": true
 }

前两行代码有效。

  const functions = require('firebase-functions');
  const admin = require('firebase-admin');

但是当我尝试运行这条线时......

  admin.initializeApp(functions.config().firebase);

我得到这个错误。

 Error: functions.config() is not available. Please use the latest version of the Firebase CLI to deploy this function.
   at init (/Users/.../functions/node_modules/firebase-functions/lib/config.js:46:19)
   at Object.config (/Users/.../functions/node_modules/firebase-functions/lib/config.js:29:9)
   at Object.<anonymous> (/Users/.../functions/index.js:11:31)
   at Module._compile (module.js:570:32)
   at Object.Module._extensions..js (module.js:579:10)
   at Module.load (module.js:487:32)
   at tryModuleLoad (module.js:446:12)
   at Function.Module._load (module.js:438:3)
   at Module.runMain (module.js:604:10)
   at run (bootstrap_node.js:394:7)

我在这里想念什么?

4

4 回答 4

90

如果像我一样,您在尝试在本地运行函数时遇到此错误,那是因为functions.config()仅在 Cloud Functions 运行时中可用。

如果您在部署之前尝试测试您的功能,这里是有关如何执行此操作的文档的链接:在本地运行功能。具体来说,这部分很有趣:

如果您使用自定义函数配置变量,请在运行 firebase serve 之前在项目的函数目录中运行以下命令。

firebase functions:config:get > .runtimeconfig.json

但是,如果您使用的是 Windows PowerShell,请将上述命令替换为:

firebase functions:config:get | ac .runtimeconfig.json
于 2017-03-23T13:58:02.993 回答
10

firebase deploy从错误的目录运行。希望这可以节省一些时间。

于 2018-01-29T16:32:53.920 回答
6

firebase即使您尝试安装最新的firebase-tools.

您可以通过运行检查firebase --version。至少应该这么说3.5.0。如果没有,您将需要npm install -g firebase-tools再次运行,这有望解决问题。

如果您firebase --version继续显示错误的版本,您需要检查是否不小心安装了多个版本firebase-tools

于 2017-03-16T18:03:16.183 回答
1

在我的情况下 .runtimeconfig.json / .env / .env.local 没有工作 - 在任何文件夹中。

事实证明,Windows 上与 PWD 相关的 firebase-tools 存在一些问题。

在执行“firebase emulators:start”之前,运行这个:

$env:CLOUD_RUNTIME_CONFIG="$(pwd)/functions/.runtimeconfig.json"
于 2021-12-29T15:22:08.200 回答