为什么firebase CLI会说部署完成而不部署函数



我正在使用firebase工具CLI来部署firebase函数。我正在尝试使用firebase deploy --only functions:functionName部署一个函数。

这是在现有项目中。这些函数位于/functions/index.js中。

直到几个小时前,部署工作还很顺利。但现在,当我尝试部署一个新功能时,我得到了以下信息:

i  deploying functions
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
+  functions: required API cloudbuild.googleapis.com is enabled
+  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: preparing functions directory for uploading...
+  Deploy complete!

但很明显,它甚至没有上传任何内容或部署任何功能。尝试部署现有功能时,我得到了The following functions are found in your project but do not exist in your local source code:

我有点困惑,这似乎是";断裂";。即使查看项目的git,也没有对任何配置文件或任何内容进行任何更改,只是编写了一个新函数。自上次部署以来,我没有更新任何软件包,并尝试了firebase-tools的早期版本和最新版本。

以相同的方式将不同的功能部署到不同的项目是成功的。

事实证明,我在项目根目录(而不是/functions目录(中创建了一个名为functions.js的文件,firebase-tools似乎在寻找该(空(文件的函数,而不是函数目录。奇怪,而且没有任何错误消息,因为我猜它认为要查找的文件确实存在。

在我的例子中,index.js没有正确更新。确保index.js文件导出如下函数:

const functions = require('firebase-functions'); exports.functionName = functions.region('us-central1').onRun(handler);//or any onRequest function

最新更新