Не удалось эмулировать облачные функции Firebase

Когда я пытаюсь запустить npm run serve:

"build": "./node_modules/.bin/tsc",
"serve": "npm run build && firebase serve --only functions",

Я получаю вывод, в котором говорится, что не удалось эмулировать мои функции:

> npm run build && firebase serve --only functions


> functions@ build /Users/eliyacohen/apps/app-name/functions
> tsc


=== Serving from '/Users/eliyacohen/apps/app-name'...

i  functions: Preparing to emulate functions.
⚠  functions: Failed to emulate payment-create
⚠  functions: Failed to emulate payment-process

Когда я открываю firebase-debug.log для получения дополнительной информации, я вижу:

...
Sat Mar 31 2018 18:48:05 GMT+0300 (IDT)
[debug] [2018-03-31T15:48:06.665Z] <<< HTTP RESPONSE 200
[debug] [2018-03-31T15:48:06.666Z] Starting @google-cloud/functions-emulator
[debug] [2018-03-31T15:48:08.254Z] Parsing function triggers
[debug] [2018-03-31T15:48:10.194Z] Error while deploy to emulator: Error: connect ECONNREFUSED 127.0.0.1:5001
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
[debug] [2018-03-31T15:48:10.195Z] Error while deploy to emulator: Error: connect ECONNREFUSED 127.0.0.1:5001
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
[warn] ⚠  functions: Failed to emulate payment-create
[warn] ⚠  functions: Failed to emulate payment-process

Насколько я понимаю, он не мог достичь 127.0.0.1:5001, поэтому он мог выполнять эти функции локально?

Я знаю, что с моим кодом все в порядке, поскольку firebase deploy --only functions развертывает мои функции без ошибок.

Я попытался полностью удалить Node.js и переустановить его, понизить и обновить. То же самое и с глобальными модулями.

Моя основная папка (../functions) построена на Ionic Framework. Это как-то связано с этим?

Среда:

  • Работает на MacOS High Sierra
  • Node.js v6.11.5
  • NPM версии 3.10.10
  • firebase-tools: 3.17.7 (Глобальный)
  • firebase-admin: ^ 5.11.0,
  • firebase-функции: ^ 0.9.1

person Eliya Cohen    schedule 31.03.2018    source источник
comment
Перезагрузку тоже пробовали?   -  person Doug Stevenson    schedule 01.04.2018
comment
Имея ту же проблему, когда я скопировал и вставил свои модули узлов из другого более старого проекта firebase, firebase serve эмулировал функции ... проблема должна открыться на github   -  person OctaviaLo    schedule 16.05.2018
comment
Ребята, вы нашли решение / обновления для этого? Очень грустно продолжать развертывать функции для тестирования   -  person Guilherme Matuella    schedule 26.10.2018
comment
@GuilhermeMatuella попытается выполнить обновление до узла 10, перезапустить компьютер, удалить модули узла и снова установить npm. убедитесь, что ваши зависимости актуальны   -  person Eliya Cohen    schedule 26.10.2018
comment
Но разве он не поддерживает только Node 6 и - теперь Node 8 в бета-версии?   -  person Guilherme Matuella    schedule 26.10.2018
comment
@GuilhermeMatuella чепуха. Я на собственном горьком опыте научился не слушать это предупреждение.   -  person Eliya Cohen    schedule 26.10.2018
comment
Да, я всегда скептически отношусь к тому, что касается версий Node. Спасибо за подсказку, попробую   -  person Guilherme Matuella    schedule 26.10.2018
comment
У меня было много проблем с Cloud Functions. Я создал виртуальную машину на вычислительном движке и реализовал ее как обычный сервер nodejs, он работает быстрее, и у меня есть полный контроль.   -  person Marco    schedule 14.06.2019
comment
О вашей подаче, AFAIK вам нужно начать подачу из каталога функций.   -  person Marco    schedule 14.06.2019
comment
@Marco посмотрите комментарии. Обновление до последней версии nodejs решило проблему.   -  person Eliya Cohen    schedule 14.06.2019
comment
Хорошо, спасибо, я все еще верю своей точке зрения, я развернул на своем сервере и работает очень хорошо, намного лучше, чем Cloud Functions. Я советую это сделать, так как желание гуглить - не лучшая идея. У меня были проблемы, потому что они обновляют библиотеки узлов, и они оставили меня в значительной степени одного, так как я не заплатил за поддержку.   -  person Marco    schedule 14.06.2019


Ответы (2)


Поскольку я вижу, что многие люди все еще сталкиваются со следующей ошибкой, попробуйте обновить версию узла до последней стабильной версии (или> = 10)

person Eliya Cohen    schedule 02.12.2019

попробуйте с другим портом. пример

firebase serve --port 3000 --only functions
person Shyam    schedule 22.01.2020
comment
Ошибки говорят о том, что не удалось подключиться к эмулятору, это может быть неправильный ответ, но хороший метод устранения неполадок. - person Arafangion; 22.01.2020