“ firebase服务-仅功能”不起作用

时间:2019-07-17 07:17:38

标签: firebase google-cloud-functions firebase-tools

$ 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,我尝试按照Firebase官方文档进行npm run serve,但是它不起作用。

请帮助我。

这是我的版本。

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

node -v
v12.3.1

firebase --version
7.1.0

我在WSL(不是wsl2)上使用ubuntu,版本低于

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!");
});

2 个答案:

答案 0 :(得分:1)

我在新项目和现有项目中都遇到了同样的问题。它与节点版本,所使用的端口或项目代码无关。恢复到以前的版本对我有用:

npm i -g firebase-tools@7.0.2

v7.1.0发行版中的某些内容一定引起了此问题。

答案 1 :(得分:0)

请参见https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version

SELECT @X + @B As ImplicitConversionFailure

您应该使用Node.js 8或Node.js 10,而不是Node.js 12。

首先,检查您的节点版本,然后可以使用nvm之类的节点版本管理器来管理节点版本。