firebase serve --only функции не работают

$ firebase serve --only functions
⚠  Your requested "node" version "8" doesn't match your global version "12" 
Error: TIMEOUT: Port 5000 was not active within 30000ms

но когда обслуживать хостинг будет успех

$ firebase serve --only hosting
i  hosting: Serving hosting files from: dist/chongsheng-jp
✔  hosting: Local server: http://localhost:5000

Я думал, что не скомпилировал index.ts, я попробовал npm run serve в соответствии с официальным документом firebase, но это не сработало.

Помогите мне, пожалуйста.

Вот мои версии.

"firebase-admin": "^8.0.0",
"firebase-functions": "^3.1.0"

node -v
v12.3.1

firebase --version
7.1.0

Я использую ubuntu на WSL (не wsl2), и версия ниже

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

и вот мой код (index.ts)

const functions = require('firebase-functions');

// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

person yhirochick    schedule 17.07.2019    source источник
comment
Что именно вы пытаетесь служить? Какой у тебя код?   -  person Doug Stevenson    schedule 17.07.2019
comment
Вы используете подсистему Windows для Linux? Если это так, то это похоже на эту ошибку: github.com/firebase/firebase-tools/ вопросы/1458   -  person Sam Stern    schedule 17.07.2019
comment
В связанной проблеме упоминаются WSL 2 и firebase-tools 7.0.2. Проблема, которую я наблюдаю, связана с WSL 1 и не возникает в 7.0.2, но возникает в 7.1.0.   -  person Raven    schedule 17.07.2019
comment
Спасибо всем за ваши советы, я добавил некоторую информацию о среде. Я попробую изменить версию Firebase.   -  person yhirochick    schedule 18.07.2019


Ответы (2)


Я просто вижу ту же проблему в новых и существующих проектах. Это не связано с версией узла, используемым портом или кодом проекта. Возврат к предыдущему выпуску сработал для меня:

npm i -g [email protected]

Что-то в выпуске v7.1.0 должно было вызвать эту проблему. .

person Raven    schedule 17.07.2019
comment
Вы писали об этом на GitHub? - person Doug Stevenson; 17.07.2019
comment
Я как раз собираюсь это сделать. - person Raven; 17.07.2019
comment
@DougStevenson Это проблема на GitHub: github.com/firebase/firebase-tools/issues /1517 - person Raven; 17.07.2019
comment
Большое спасибо! Я переустановил эту версию, и она работает! Извините за мой английский для всех. Я японец - person yhirochick; 18.07.2019

См. https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version .

Your requested "node" version "8" doesn't match your global version "12"

Вы должны использовать Node.js 8 или Node.js 10. Не Node.js 12.

Сначала проверьте версию своего узла, и вы можете управлять версией узла с помощью диспетчера версий узла, такого как nvm.

person zkohi    schedule 17.07.2019
comment
Проблема скорее всего не в этом. Это просто информационное сообщение. Настоящая ошибка - это строка, следующая за ней. - person Doug Stevenson; 17.07.2019
comment
Извините, могу ошибаться. Проблема может заключаться в том, что порт 5000 уже используется и т. д. В любом случае требуется дополнительная информация. - person zkohi; 17.07.2019
comment
У меня та же проблема, и переход на узел 10 с использованием nvm не решает эту проблему. Кажется, что это не имеет отношения к реальной проблеме. Порт 5000 также не используется. - person Raven; 17.07.2019
comment
Порт 5000 также вряд ли будет проблемой, поскольку OP показывает, что они могут запустить другую команду, которая работает с портом 5000. - person Doug Stevenson; 17.07.2019