J'ai suivi les étapes suivantes:
La CLI Firebase (interface de ligne de commande) nécessite Node.js et npm, que vous pouvez installer en suivant les instructions figurant sur https://nodejs.org/
Une fois Node.js et npm installés, installez la CLI de Firebase via npm:
npm installer -g firebase-tools
Initialisez votre projet:
une. Exécutez la connexion firebase pour vous connecter via le navigateur et authentifiez l'outil firebase.
allez dans le répertoire de votre projet Firebase ou créez le répertoire.
c. Exécuter les fonctions initiales de firebase
Sélectionner le projet firebase associé
Sélectionnez Y pour installer des dépendances avec npm
Déplacer vers les fonctions firebase de configuration du répertoire
Editez le fichier index.js avec la fonction que vous avez créée
Exécutez l’utilisation de firebase --add pour ajouter votre projet Firebase
Exécuter firebase deploy --only fonctions pour déployer la fonction
Après tout cela, je reçois le message dans le terminal au moment du déploiement, mais dans la console Firebase, lorsque je clique sur l'onglet Fonctions, aucune fonction n'est répertoriée!?
Astuce: Assurez-vous d’exporter la fonction que vous essayez de déployer dans votre fichier index.js. Votre projet firebase se déploiera mais les fonctions de cloud ne seront disponibles que si elles sont exportées.
À l'étape 7, vous devez supprimer le commentaire de la fonction exemple et enregistrer le fichier. Ensuite, dans la sortie de la commande deploy, vous recevrez une URL pour la fonction helloWorld créée.
Assurez-vous de sauvegarder le fichier après avoir supprimé la mise en commentaire de la fonction par défaut, puis utilisez
firebase deploy
Assurez-vous que vous utilisez au moins la version 3.5.0
de firebase-tools
. Pour vérifier quelle version vous avez, exécutez:
firebase --version
Si vous exécutez la configuration par défaut, vous pouvez mettre à jour firebase-tools
en utilisant:
npm install -g firebase-tools
J'ai eu exactement le même problème et je l'ai résolu en m'assurant que le fichier index.js contenant toutes mes fonctions était enregistré dans le dossier "functions" du dossier de projet. J'utilise vs code donc j'ai juste cliqué sur le fichier/enregistrer sous et sélectionné le bon dossier.
J'ai récemment rencontré le même problème lors de l'exécution de Actions sur le guide de migration de la version 1 de Google Node.js Client Library. à Node.js Bibliothèque de logiciels V2 (Que je recommande vivement) Il m'a fallu un certain temps pour comprendre ce qui se passait. À la je ne pouvais pas vraiment comprendre quel était le problème! Alors voici ce que j'ai fait et cela a fonctionné pour moi:
Assurez-vous d’avoir une copie de sauvegarde} de vos fonctions cloud (index.js
) et peut-être votre package.json
(au cas où vous ne voudriez pas vous rappeler les paquets que vous aviez précédemment installés - Cela peut parfois être gênant).
Supprimer l'intégralité du répertoire des fonctions du dossier de votre projet.
Relancez CLI firebase avec firebase init
et choisissez Fonctions
Une fois que votre fonction cloud a été initialisée, insérez le CD dans le dossier des fonctions et Redéployez avec firebase deploy --only functions
.
Si tout se passe bien ????, vous devriez maintenant voir votre fonction déployée sur votre console du tableau de bord firebase.
N.B: Google a récemment publié la Node.js Client Library version 2 (v2)
le 16 avril 2018 avec de nombreuses nouvelles fonctionnalités. Après le 16 avril 2018, nouvelles fonctionnalités sur Actions sur Google sera ne sera plus ajouté à la v1_ de la bibliothèque cliente. Si vous souhaitez utiliser de nouvelles fonctionnalités, vous devez migrer vers la bibliothèque client v2} _.
De plus, la bibliothèque de clients v1 ne prend pas en charge Dialogflow v2. Si vous avez besoin des fonctionnalités de Dialogflow v2, vous devrez également migrer vers la v2 de la bibliothèque client.
J'espère que cela t'aides ????.
Vérifiez votre "projet par défaut" à init firebase. Choisir une avec un nom similaire était mon erreur. ;)
1) Assurez-vous d’exporter la fonction que vous essayez de déployer dans votre fichier index.js.
2) Ecrivez 'use-strict' en haut de votre fichier (index.js) puis utilisez la console pour déployer votre fonction
Avait la même situation. Le problème était que quand je faisais
$ firebase deploy --only "myFunction"
Ce nom de filtre: myFunction
, n'était pas exactement le même que le nom de la fonction que je tentais de déployer. Silly erreur, mais m'a pris un jour pour réaliser ...
Pour clarifier un problème - il semble que votre fichier index.js
dans le dossier functions
doit exporter les fonctions créées dans le même fichier (comme ce que Fran avait dit).
Il semble que tenter d’organiser vos fichiers dans des sous-dossiers ne fonctionnera pas correctement avec les fonctions Firebase - les mêmes règles s’appliquent pour utiliser firebase serve
pour tester localement (doit créer codeinside functions/index.js
).
J'espère que cela aide quelqu'un!