Подтвердить что ты не робот

Локальный запуск облачных функций выдает ошибку "functions.config() недоступен"

Облачные функции для Firebase были недавно выпущены, и я следую инструкциям по новой установке. Вот страница "Начало работы" .

Я установил "npm install -g firebase-tools", и все мои файлы находятся в моем проекте. Я использую WebStorm 2016.3 и Node.JS v6.10.0.

У меня установлены и установлены функции инициализации firebase и firebase. Моя настройка. Вот моя настройка.

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

Что мне здесь не хватает?

4b9b3361

Ответ 1

Если, как и я, вы получили эту ошибку при попытке запустить ваши функции локально, то это потому, что functions.config() доступен только во время выполнения Cloud Functions.

Если вы пытаетесь протестировать свои функции перед развертыванием, вот ссылка на документацию о том, как это сделать: запускать функции локально. В частности, эта часть представляет интерес:

Если вы используете переменные конфигурации пользовательских функций, выполните следующую команду в каталоге функций вашего проекта перед запуском firebase serve.

firebase functions:config:get > .runtimeconfig.json

Однако если вы используете Windows PowerShell, замените приведенную выше команду на:

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

Ответ 2

Это похоже на то, что у вас может быть старая версия CLI firebase, даже если вы пытались установить новейшую firebase-tools.

Вы можете проверить, запустив firebase --version. Это должно сказать не менее 3.5.0. Если это не так, вам нужно снова запустить npm install -g firebase-tools, что, надеюсь, исправить.

Если ваш firebase --version продолжает показывать неправильную версию, вы захотите проверить, не установлено ли у вас несколько версий firebase-tools.

Ответ 3

Я запускал firebase deploy из неправильного каталога. Надеюсь, это сэкономит кому-то время.