在本地运行Cloud Functions会显示错误"functions.config()不可用". [英] Running Cloud Functions locally gives error "functions.config() is not available"

查看:133
本文介绍了在本地运行Cloud Functions会显示错误"functions.config()不可用".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

用于Firebase的Cloud Functions是最近发布的,我正在按照全新安装中的说明进行操作. 这是入门"页面.

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

我还安装并设置了firebase登录和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()仅在Cloud Functions运行时内可用.

如果您要在部署之前测试功能,请访问以下文档链接:Here is the "Get Started" page.

I have installed "npm install -g firebase-tools" and all my files are in my project. I am using WebStorm 2016.3 and Node.JS v6.10.0.

I have the firebase login and firebase init functions installed and set up as well. My set up.

My package.json

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

These first two lines of code work.

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

But then when I try to run this line...

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

I get this error.

 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)

What am I missing here?

解决方案

If, like me, you got this error while trying to run your functions locally then it's because functions.config() is only available within the Cloud Functions runtime.

If you are trying to test your functions before you deploy, here is the link to the documentation on how to do so: run functions locally. Specifically, this part is of interest:

If you're using custom functions configuration variables, run the following command in the functions directory of your project before running firebase serve.

firebase functions:config:get > .runtimeconfig.json

However, if you're using Windows PowerShell, replace the above command with:

firebase functions:config:get | ac .runtimeconfig.json

这篇关于在本地运行Cloud Functions会显示错误"functions.config()不可用".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆