错误:功能未正确部署

Mar*_*rio 5 firebase google-cloud-functions

功能部署有错误。要继续部署其他功能(例如数据库),请运行:

firebase deploy --except functions
Run Code Online (Sandbox Code Playgroud)

错误:

功能未正确部署。

Gio*_*gos 39

尝试使用--debug. 例如:firebase --debug deploy

就我而言,该函数如下所示:

exports.test = functions.firestore.document('chats').onCreate((snap, context) => {
   ...
});
Run Code Online (Sandbox Code Playgroud)

调试日志包含以下错误消息:

fieldViolations=[field=event_trigger, description=匹配正则表达式的期望值聊天 [^/]+/[^/]+(/[^/]+/[^/]+)*]]

那时我意识到那chats不是文档而是集合。我将路径更改为集合的路径,一切正常。

编辑:

要查看更多日志,您还可以尝试:

firebase functions:log
Run Code Online (Sandbox Code Playgroud)

或者

firebase functions:log --only <FUNCTION_NAME>
Run Code Online (Sandbox Code Playgroud)

链接到文档。

  • 这应该是公认的答案,因为错误是超级通用的,有很多评论说“对我来说这是......”。但是使用 --debug 可以准确地告诉你哪里出了问题 (2认同)

jam*_*kid 11

我在Firestore中遇到了同样的问题,我的问题是文档的路径错误。我在文档路径的开头和结尾都有一个斜线,就像以前使用Firebase Realtime Database路径一样。希望它可以帮助某人。


Jun*_*ana 11

只需关闭您正在使用的任何 IDE,然后重新打开它。然后在节点上重新部署您的功能。这应该可以解决问题。

  • 你是如何得到这个解决方案的?它对我很有用,但没有任何意义。 (4认同)

Roe*_*iss 7

我删除了yarn.lock然后错误就消失了。我认为package-lock.json和yarn.lock不应该同时存在。


sev*_*hts 7

我也遇到了这个错误,我遇到了 package.json 文件中缺少依赖项的问题。

通过运行 firebase --debug deploy它返回用户代码错误。 firebase functions:log然后给出了具体信息,即不包括包裹。


Mar*_*rio 5

检查函数文件夹中的 json 模块依赖项。那里有一个特定的 json 包。如果您包含在项目中的某个模块不存在(在 json 中),您可能会遇到提到的错误。要安装只需运行:

npm install <module> --save

或者

yarn add <module> --save

然后再次运行您的部署:

firebase deploy --only functions

  • 我遇到了这个问题,这是因为您经常位于 firebase 上的父目录中,因此 --save 不起作用,检查您的 package.json,并查找缺少的依赖项,然后在函数文件夹中使用 cd 并使用--save` 标志添加缺失的。这为我解决了这个问题。如果您不集中精力,这就是“firebase init”创建导致此问题的文件夹的方式。 (2认同)

bul*_*ast 5

在我的例子中,firebase 部署失败并出现错误“错误:函数未正确部署”。并且没有进一步的解释。我注意到即使是我没有接触过的功能也无法部署。因此,我检查了依赖项,发现“package.json”中不存在库。

所以我执行这个命令:

cd functions && rm -rf node_modules && rm package-lock.json && npm install && npm install [specific Librairy not in package.json] && firebase deploy

之后部署成功,缺少的依赖出现在package.json中