Actuellement, j'initialise les émulateurs firebase avec :
$ firebase emulators:start
Après avoir travaillé un certain temps sur ce projet, je veux l'arrêter. Comment puis-je alors arrêter les émulateurs ?
Actuellement, j'initialise les émulateurs firebase avec :
$ firebase emulators:start
Après avoir travaillé un certain temps sur ce projet, je veux l'arrêter. Comment puis-je alors arrêter les émulateurs ?
Si vous ne voulez pas avoir à vérifier le port à chaque fois, vous pouvez arrêter la commande avec ce qui suit
kill -9 (lsof -t -i:5002 -i:5001)
(-i:xxxx sont les ports de votre émulateur en cours d'exécution dans firebase.json).
De plus, je ne veux pas mémoriser cette longue commande. Donc j'ai fait un package.json script ci-dessous.
"scripts": {
...
"stop": "lsof -t -i :5001 -i:5002 | xargs kill -9",
...
}
J'ai essayé toutes les réponses ci-dessus, et aucune ne fait ce que j'attendais : terminer gracieusement la suite d'émulateur dans son ensemble sans avoir à faire ctrl+c, en ne laissant aucun port occupé. Voici comment j'ai résolu le problème.
TLDR : lsof -ti :4400 | xargs --no-run-if-empty kill
Le port étant 4400, car c'est le port par défaut pour le Hub Emulateur. Bien qu'avec cette commande, vous terminerez l'émulateur indépendamment du processus que vous avez tué.
Le drapeau "-9" utilisé dans les autres réponses n'envoie pas le signal SIGTERM au processus, mais le tue de force à la place. Cela empêche l'émulateur de se terminer de manière gracieuse.
D'après ceci : https://github.com/firebase/firebase-tools/issues/1367 Ctrl+C
tue les émulateurs
Une alternative est d'utiliser firebase emulators:exec
qui, selon la documentation du CLI, fait cela :
démarrer les émulateurs Firebase locaux, exécuter un test script, puis éteindre les émulateurs.
Puisque j'ai placé ma commande d'exécution de test dans un Makefile, j'utilise la commande suivante pour tester firestore à partir d'un Python firebase_admin
SDK :
firebase emulators:exec "make test" --only firestore
Le montage et le démontage du port sont gérés directement par firebase.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.