web-dev-qa-db-ja.com

Cloud Functionsをローカルで実行すると、「functions.config()is not available」というエラーが発生します

Cloud Functions for Firebaseが最近リリースされたばかりで、新規インストールの指示に従っています。 「はじめに」ページがあります。

「npm install -g firebase-tools」をインストールしましたが、すべてのファイルがプロジェクトに含まれています。 WebStorm 2016.3およびNode.JS v6.10.0を使用しています。

Firebase loginおよびfirebase init関数もインストールおよびセットアップされています。私のセットアップ。 Here is my set up.

私のpackage.json

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

これらの最初の2行のコードは機能します。

  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)

ここで何が欠けていますか?

32
temp_

私のように、関数をローカルで実行しようとしたときにこのエラーが発生した場合、functions.config()はCloud Functionsランタイム内でのみ使用できるためです。

デプロイする前に関数をテストしようとしている場合、その方法に関するドキュメントへのリンクは次のとおりです。 関数をローカルで実行 。特に、この部分は興味深いものです。

カスタム関数構成変数を使用している場合は、firebase serveを実行する前に、プロジェクトの関数ディレクトリで次のコマンドを実行します。

firebase functions:config:get > .runtimeconfig.json

ただし、Windows PowerShellを使用している場合は、上記のコマンドを次のコマンドに置き換えます。

firebase functions:config:get | ac .runtimeconfig.json
47
Mitchell Gant

最新のfirebase-toolsをインストールしようとしても、firebase CLIの古いバージョンが残っているようです。

firebase --versionを実行して確認できます。少なくとも3.5.0と言う必要があります。そうでない場合は、npm install -g firebase-toolsを再度実行することをお勧めします。

firebase --versionが間違ったバージョンを表示し続ける場合、誤ってfirebase-toolsの複数のバージョンがインストールされているかどうかを確認する必要があります。

6

私は走っていた firebase deploy間違ったディレクトリから。これが誰かの時間を節約することを願っています。

5
Doug