“使用Node.JS的Firebase云function”中的“functions.config()不可用”

Firebase的云端function刚刚发布,我正在按照全新安装的说明操作。 这是“入门”页面。

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

我已经安装和设置了firebaselogin和firebase初始化函数。 我成立了。 这是我的设置。

我的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) 

我在这里错过了什么?

如果你像我一样,得到这个错误试图在本地运行你的函数,那么你会得到这个错误,因为functions.config()只能在云function运行时。 如果您在部署之前试图testing您的function,请参阅以下文档的链接: https : //firebase.google.com/docs/functions/unit-testing#mocking_database_writes

即使您尝试安装最新的firebase-tools ,看起来您仍可能拥有旧版本的firebase CLI。

你可以通过运行firebase --version进行检查。 这应该说至less3.5.0 。 如果没有的话,你需要再次运行npm install -g firebase-tools ,希望能够解决这个问题。

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