Служба Firebase: SupervisorPort (5001) уже используется - PullRequest
0 голосов
/ 22 октября 2018

Я создал это Приложение React , которое позволяет пользователям добавлять элемент todo и помечать элемент как завершенный / активный.Элементы Todo хранятся в облачном пожарном хранилище.

Я хочу включить полнотекстовый поиск в приложении, и один из способов - создать облачную функцию, которая записывает индекс в Algolia всякий раз, когда облачный пожарный хранилище наблюдает за операцией создания.

Внутри корневого каталога моего приложения я инициализирую облачные функции , а затем реализую функцию onTodoAdded .После этого я запускаю firebase serve в каталоге functions и получаю ошибки:

=== Serving from '/Users/evan/source/react-redux-todos'...

i  functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i  hosting: Serving hosting files from: build
✔  hosting: Local server: http://localhost:5000
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
    at Server.setupListenHandle [as _listen2] (net.js:1335:14)
    at listenInCluster (net.js:1383:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1509:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
error: supervisorPort (5001) is already in use
i  functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.

Для полного журнала отладки найдите здесь .

Однако,эта команда работает нормально: firebase serve --only functions.

=== Serving from '/Users/evan/source/react-redux-todos'...

i  functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i  functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.

Поскольку она говорит, что supervisorPort (5001) уже используется, I lsof -i:5001 и не находит процесс.Я также выключаю свой ноутбук и перезагружаюсь, получает ту же ошибку.

Я нахожу похожую проблему здесь , но не нашел решения.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

У меня была такая же ошибка после обновления до macOS Mojave 10.14.1 (было нормально с 10.14).error: supervisorPort (5001) is already in use и это привело меня к этой кроличьей норе дополнительных обновлений и конфигурации, которые в конечном итоге заставили его работать.

1 Пакеты обновлений узла

Я обновил эти элементы доэти версии (последняя на момент написания этой статьи)

  • firebase-functions: 2.1.0
  • firebase: 5.5.8

I удалено папкой node_modulesи переустановил все пакеты.

2 Требуется настройка эмулятора Firestore

В следующий раз, когда я попытался служить, firebase выдал мне эту ошибку: Setup required, please run: firebase setup:emulators:firestore

Из-за странных проблем с разрешениями, которые у меня изначально были с Mac, мне действительно нужно запустить node_modules/.bin/firebase setup:emulators:firestore

3 Затем .... Исправить проблемы времени выполнения Java

Вкл.моя следующая попытка подачи, мне представили firestore: No Java runtime present, requesting install. Mac представляет всплывающее окно, ведущее на страницу, где вы можете «скачать Java для Mac».Это не то, что вам действительно нужно.Вам действительно нужен Java SE Development Kit , который включает интерфейс командной строки.

Тогда ... Вы можете получить эти ошибки в следующий раз, когда попытаетесь служить.

error: restPort (5002) is already in use
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at Server.setupListenHandle [as _listen2] (net.js:1351:14)
    at listenInCluster (net.js:1392:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)
error: supervisorPort (5001) is already in use

Но Firebase все-таки продолжал каким-то образом успешно служить, несмотря наэти ошибки.И это все еще показывает мое приложение более http://localhost:5000.

Надеюсь, это поможет!

0 голосов
/ 25 октября 2018

Я до сих пор не знаю причину, но добавление --port=9000 решает проблему.Например, firebase serve --only functions --port=9000.Кредиты на restPort (5001) уже используются # 142 .

...