Я пытаюсь протестировать свои облачные функции google firebase на локальном компьютере с помощью эмулятора firebase: запуск.Однако локальный экземпляр облачной функции не выполняется, вместо этого выполняется экземпляр в Google Cloud.
Я выполнил следующие шаги для настройки эмулятора: https://firebase.google.com/docs/functions/local-emulator
$ export GOOGLE_APPLICATION_CREDENTIALS='path/tofile'
$ firebase setup:emulators:firestore
$ firebase init firestore
$ export FIRESTORE_EMULATOR_HOST=localhost:8080
$ firebase emulators:start
Starting emulators: ["functions","firestore","hosting"]
⚠ Your requested "node" version "8" doesn't match your global version "10"
✔ functions: Emulator started at http://localhost:5001
i firestore: Logging to firestore-debug.log
✔ firestore: Emulator started at http://localhost:8080
i firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080
✔ hosting: Emulator started at http://localhost:5000
i hosting: Serving hosting files from: www
✔ hosting: Local server: http://localhost:5000
i functions: Watching "/home/borch/Documents/Ionic/myproject/functions" for Cloud Functions...
i functions: Setting up Cloud Firestore trigger "myGCFunction"
✔ functions: Trigger "myGCFunction" has been acknowledged by the Cloud Firestore emulator.
Как видно, триггер распознается эмулятором облачного пожарного хранилища.
Но функции, которые выполняются каждый раз, когда я вызываю myGCFunction, - это функции в Google Cloud.Я думаю, что он должен выполнять функцию из моего локального API, работающего на localhost: 8080, правильно?
Я понимаю, что выполняется только функция в облаке, потому что я проверил консоль функции firebase с новыми записями выполнения этой функции,
Я обновил firebase-admin и firebase-functions до последней версии:
$ cat functions/package.json | grep firebase-
"firebase-admin": "^8.2.0",
"firebase-functions": "^3.0.2",
Спасибо.