web-dev-qa-db-ja.com

展開されたFirebase機能が表示されない

次の手順に従いました。

  1. Firebase CLI(コマンドラインインターフェイス)にはNode.jsおよびnpmが必要です。これらは https://nodejs.org/ の指示に従ってインストールできます

    • Node.jsをインストールすると、npmもインストールされます
  2. Node.jsとnpmをインストールしたら、npmからFirebase CLIをインストールします。
    npm install -g firebase-tools

    • これにより、グローバルに利用可能なfirebaseコマンドがインストールされます。最新バージョンに更新するには、同じコマンドを再実行します
  3. プロジェクトを初期化します。
    a。実行firebase loginブラウザ経由でログインし、firebaseツールを認証します。

    b.Firebaseプロジェクトディレクトリに移動するか、ディレクトリを作成します

    c。 firebase init関数を実行する

    • このツールには、npmで依存関係をインストールするオプションがあります。別の方法で依存関係を管理する場合は、辞退しても安全です。
  4. 関連するFirebaseプロジェクトを選択します

  5. Yを選択して、npmで依存関係をインストールします

  6. ディレクトリ設定ファイヤーベース機能に移動する

  7. 編集index.js作成した関数を含むファイル

  8. firebase use --add Firebaseプロジェクトを追加するには

  9. 実行firebase deploy --only functions関数をデプロイします

このすべての後、デプロイが完了した端末にメッセージが表示されますが、Firebaseコンソールでは、[関数]タブをクリックすると関数がリストされません!?

20
Learn2Code

クイックヒント:デプロイしようとしている関数をindex.jsファイルでエクスポートしていることを確認してください。 Firebaseプロジェクトはデプロイされますが、クラウド関数はエクスポートされない限り利用できません。

11
Lindauson

ステップ7では、サンプル関数のコメントを外してファイルを保存する必要があります。次に、deployコマンドの出力で、作成されたhelloWorld関数のURLが提供されます。

3
Doug Stevenson

デフォルト関数のコメントを外した後、必ずファイルを保存してから使用してください

firebase deploy
3
Nutty Geek

私はまったく同じ問題を抱えていたので、すべての関数を含むindex.jsファイルがプロジェクトフォルダー内の「関数」フォルダーに保存されるようにすることで解決しました。私はvsコードを使用しているので、ファイル/名前を付けて保存をクリックし、正しいフォルダを選択しました。

2

少なくともバージョン3.5.0またはfirebase-toolsを実行していることを確認してください。使用しているバージョンを確認するには、次を実行します。

firebase --version

デフォルトのセットアップを実行している場合、次を使用してfirebase-toolsを更新できます。

npm install -g firebase-tools
2
leo

Google Node.jsクライアントライブラリバージョン1移行ガイドのアクションから ---を実行しながら、最近同じ問題を経験しました。 Node.jsクライアントライブラリV2(これは非常にお勧めです)何が起こっているのかを理解するのに時間がかかりました。で、私は本当に問題が何であるか理解できませんでした!だからここに私がやったことがあり、それは私のために働いた:

  1. クラウド機能の backup copy (_index.js_)と、おそらく_package.json_があることを確認します(念のために、どのパッケージを思い出したくない場合があります)以前にインストールしたことがあります-時々迷惑になる可能性があります)。

  2. Delete functionsディレクトリ全体プロジェクトフォルダーから。

  3. _firebase init_を使用してfirebase CLIを再起動し、 Functions を選択します

  4. クラウド関数が initialized になったら、CDを関数フォルダーに入れ、 Redeploy を使用して_firebase deploy --only functions_を使用します。

  5. すべてが well ????になったら、 firebaseダッシュボードコンソールに機能が展開されているはずです。

N.B: Googleは最近、多くの新機能を備えたNode.js Client Library version 2 (v2)を2018年4月16日にリリースしました。 2018年4月16日以降、 Actions on Googleの新機能はクライアントライブラリのv1 に追加されなくなります。新しい機能を使用する場合は、 v2クライアントライブラリに移行する必要があります。

また、 v1クライアントライブラリはDialogflow v2 をサポートしていません。 Dialogflow v2の機能が必要な場合は、クライアントライブラリのv2に移行する必要もあります。

お役に立てれば ????。

0
AllJs

Firebase initで「デフォルトプロジェクト」を確認します。類似した名前のいずれかを選択すると、私の間違いでした。 ;)

0
hieudev develo

1)index.jsファイルでデプロイしようとしている関数をエクスポートしていることを確認してください。

2)ファイル(index.js)の先頭に「use-strict」と記述し、コンソールを使用して関数をデプロイします

0
usman siddiqui

同じ状況がありました。問題は、私がやっていたときに

$ firebase deploy --only "myFunction" 

そのフィルター名:myFunctionは、デプロイしようとしていた関数の名前とまったく同じではありませんでした。愚かな間違いですが、気づくまでに1日かかりました...

0

1つの問題を明確にするために、functionsフォルダー内のindex.jsファイルは、同じファイル内で作成された関数をエクスポートする必要があるように見えます(Franが言ったことと同様)。

ファイルをサブフォルダーに整理しようとすると、Firebase関数では正しく機能しないようです。firebase serveを使用してローカルでテストする場合と同じルールが適用されます(functions/index.js内にコードを作成する必要があります)。

これが誰かを助けることを願っています!

0
Cameron