Я учусь правильно настраивать эмуляторы Firebase для работы над своими проектами, и у меня возникла проблема. Я могу настроить эмуляторы и заставить их работать локально, однако при попытке доступа к firestore кажется, что он пытается получить доступ к реальному экземпляру Firestore вместо эмулятора.
Прямо сейчас я инициализирую приложение следующим образом (в облачных функциях)
admin.initializeApp();
const db = admin.firestore();
Но когда я запускаю функцию, я получаю:
Не удалось инициализировать и загрузить триггеры. Этого не должно происходить: Не удалось прочитать учетные данные из файла GOOGLE_APPLICATION_CREDENTIALS.json: Ошибка: ENOENT: нет такого файла или каталога, откройте «GOOGLE_APPLICATION_CREDENTIALS.json»
Дело в том, что если я использую учетные данные, созданные для моего проекта, они будут работать с реальным экземпляром Firestore, а не с эмулятором.
Как мне сделать учетные данные для моих эмулируемых служб?

Если вы также используете эмулятор Firebase Functions, тогда Admin SDK подключится ко всем работающим эмуляторам, например. если запущен только эмулятор Auth, он будет использовать эмулятор и подключаться к рабочей среде для других служб, таких как Firestore. Вы можете явно установить переменную среды FIRESTORE_EMULATOR_HOST, и тогда Admin SDK будет использовать эмулятор.
Ознакомьтесь с документацией для получения дополнительной информации.
О, я думаю, мы поняли. Я установил FIRESTORE_EMULATOR_HOST, и это не сработало, но я подумал, что это может быть связано с тем, что у меня уже были установлены настройки GOOGLE_APPLICATIONS_CREDENTIALS. Поэтому я отключил его и оставил только FIRESTORE_EMULATOR_HOST. Теперь работает как положено. Важно отметить, что если я хочу, чтобы все работало с эмуляторами, GOOGLE_APPLICATION_CREDENTIALS не следует устанавливать. Это правильно?
Только что попробовал это и не сработало. Он по-прежнему запрашивает у меня GOOGLE_APPLICATION_CREDENTIALS.