How to solve TypeError: functions.https.onCall is not a function?
How to solve TypeError: functions.https.onCall is not a function?
我有一个今年早些时候创建的 Firebase 项目。它使用 Cloud Functions 运行 实时数据库上的一些操作。
昨天,我了解了 Callable Cloud Functions,所以我决定在我的应用程序中试用它,看看我是否应该更新我现有的功能。我创建了一个简单的 Cloud Function 用于测试目的:
exports.testCall = functions.https.onCall((data, context) =>{
console.log(context.auth.uid);
return {response:"This means success"};
});
但是当我尝试部署此功能时,出现错误:
Error: Error occurred while parsing your function triggers.
TypeError: functions.https.onCall is not a function
at Object. (/tmp/fbfn_7614ijhDwX0NY98S/index.js:114:36)
at Module._compile (module.js:649:30)
at Object.Module._extensions..js (module.js:660:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at Module.require (module.js:593:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11
at Object. (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)
我知道最新的 Firebase SDK 中引入了 Callable Cloud Functions,因此我尝试使用以下方式更新它:
sudo npm install -g firebase-tools
但我还不能部署我的 Cloud Functions。我也尝试过部分部署,如 Firebase docs 所示,但没有成功。我在文档中遗漏了什么吗?
仅仅更新 Firebase CLI 并不能解决问题,因为您还必须更新项目目录中的 Cloud Functions SDK。您提到 Firebase 项目已于今年早些时候初始化,所以那是在 Callable Cloud Functions 发布之前。
请注意,当您在 Firebase 项目中初始化 Cloud Functions 时,它会创建包含 Cloud Functions SDK 的 functions
目录。所以你(可能)在 functions
目录中仍然有旧的 SDK,你需要更新它。为此,请导航到该目录并 运行 命令:
sudo npm i --save firebase-functions@latest
我有一个今年早些时候创建的 Firebase 项目。它使用 Cloud Functions 运行 实时数据库上的一些操作。
昨天,我了解了 Callable Cloud Functions,所以我决定在我的应用程序中试用它,看看我是否应该更新我现有的功能。我创建了一个简单的 Cloud Function 用于测试目的:
exports.testCall = functions.https.onCall((data, context) =>{
console.log(context.auth.uid);
return {response:"This means success"};
});
但是当我尝试部署此功能时,出现错误:
Error: Error occurred while parsing your function triggers.
TypeError: functions.https.onCall is not a function at Object. (/tmp/fbfn_7614ijhDwX0NY98S/index.js:114:36) at Module._compile (module.js:649:30) at Object.Module._extensions..js (module.js:660:10) at Module.load (module.js:561:32) at tryModuleLoad (module.js:501:12) at Function.Module._load (module.js:493:3) at Module.require (module.js:593:17) at require (internal/module.js:11:18) at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11 at Object. (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)
我知道最新的 Firebase SDK 中引入了 Callable Cloud Functions,因此我尝试使用以下方式更新它:
sudo npm install -g firebase-tools
但我还不能部署我的 Cloud Functions。我也尝试过部分部署,如 Firebase docs 所示,但没有成功。我在文档中遗漏了什么吗?
仅仅更新 Firebase CLI 并不能解决问题,因为您还必须更新项目目录中的 Cloud Functions SDK。您提到 Firebase 项目已于今年早些时候初始化,所以那是在 Callable Cloud Functions 发布之前。
请注意,当您在 Firebase 项目中初始化 Cloud Functions 时,它会创建包含 Cloud Functions SDK 的 functions
目录。所以你(可能)在 functions
目录中仍然有旧的 SDK,你需要更新它。为此,请导航到该目录并 运行 命令:
sudo npm i --save firebase-functions@latest