пример:

аголовок файла node.js index.js:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var db = admin.firestore();

Это функция node.js для прослушивания изменений в firestore:

exports.myFoo = functions.firestore
  .document('foo/{bar}')
  .onWrite(event => {
    // do stuff
}

Это в файле package.json:

  "dependencies": {
    "firebase-admin": "^5-.4.2",
    "firebase-functions": "^0.7.1",
    "firestore": "^1.1.6"
  },

Когда я пытаюсь выполнить команду «firebase deploy», я получаю сообщение об ошибке:

Ошибка: Произошла ошибка при разборе триггеров вашей функции.
Ошибка типа: admin.firestore не является функцией

askFirebase
 DauleDK11 окт. 2017 г., 09:35
Я не думаю, что вам нужен пожарный магазин в зависимости? У меня есть работающий фрагмент firestore / firebase-functions, только с двумя зависимостями"firebase-admin": "^5.4.1" а также"firebase-functions": "^0.7.0"
 ninj4 n00b16 окт. 2017 г., 02:58
@AjahnCharles, оглядываясь назад на мои правки к этому сообщению, которое у меня изначально было"firebase-admin": "^5.4.2", когда проблема впервые началась. В какой-то момент в процессе поиска решения я заметил изменение добавленного дефиса в номере версии и обновил сообщение. Это означало бы, что, хотя это могло быть проблемой, это не было проблемой для этой ошибки. Спасибо за помощь, хотя.
 ninj4 n00b12 окт. 2017 г., 00:14
@BobSnyder Я запускал обаnpm install [email protected] --save а такжеnpm install -g firebase-tools затем попробовалfirebase deploy еще раз, но сообщение об ошибке все еще появляется. У меня Firebase версии 3.13.1 и npm версии 3.10.10.
 Bob Snyder11 окт. 2017 г., 06:21
Возможно, у вас нет последней версии SDK. Получите как описано вдокументация запустивnpm install [email protected] --save в каталоге функций вашего проекта.
 ninj4 n00b12 окт. 2017 г., 00:20
@DauleDK Я удалил firestore из зависимостей, и развертывание все еще выдает то же самое сообщение об ошибке.

Ответы на вопрос(1)

Решение Вопроса

ого оnpm и не могу предложить полное объяснение того, почему это решение работало.

Мой оригиналpackage.json содержала:

  "dependencies": {
    ...
    "firebase-admin": "^4.2.1",
    "firebase-functions": "^0.7.1",
    ...
  },

Какрекомендуется в документацииЯ запустил эти две команды в папке функций:

npm install -g firebase-tools
npm install [email protected] --save

Я также попробовал:

npm install --save firebase-admin
npm upgrade

Я неоднократно получал эти сообщения об ошибках:

+-- UNMET PEER DEPENDENCY [email protected]
npm WARN [email protected] requires a peer of [email protected]~5.4.2 but none was installed.

Я полагалfirebase-admin Нужно было обновить, но не смог сделать это. Поэтому я отредактировал файл зависимостей, чтобы удалить эту строку:

"firebase-admin": "^4.2.1"

затем побежалnpm install --save firebase-admin очередной раз. С этим,package.json содержащаяся версия"firebase-admin": "^5.4.2" а такжеvar db = admin.firestore(); скомпилировано без ошибок.

 ninj4 n00b13 апр. 2018 г., 22:58
похоже твой ответ помог быть сновавот по этому вопросу, Благодарю. Возможно, будущее меня запомнит это. :-)

Ваш ответ на вопрос