How do I use CLI to deploy Security Rules for firestore? Error: Cannot understand what targets to deploy

How do I use CLI to deploy Security Rules for firestore? Error: Cannot understand what targets to deploy

我无法使 CLI firebase 部署规则起作用。

我的 firebase 项目目录的根目录下有一个名为 security.rules 的文件。

在 CLI 中,我输入:

firebase deploy --only firestore:rules

然后我在 CLI 中得到这个响应:

错误:无法理解要部署的目标。如果您使用了 --only 或 --except 标志,请检查您指定的目标是否有效。否则,请检查您的 firebase.json 以确保您的项目已针对所需功能进行了初始化。

我尝试了什么:

我尝试进入 firebase.json 并添加规则选项。

之前:

{
  "functions": {
    "predeploy": [
      //"npm --prefix \"$RESOURCE_DIR\" run lint"
    ],
    "source": "functions"
  }

}

之后:

{
  "functions": {
    "predeploy": [
      //"npm --prefix \"$RESOURCE_DIR\" run lint"
    ],
    "source": "functions"
  },
"rules": "security.rules"

}

我遇到了同样的问题...有什么想法吗?

命令是这样的:

firebase deploy --only firestore

您的 firebase.json 文件应该在顶层有一个 firestore 键,它可能包含两个子属性。当您初始化一个新项目并激活 Firestore 时,firestore 键将默认填充如下:

"firestore": {
  "rules": "firestore.rules",
  "indexes": "firestore.indexes.json"
}

如果你想使用不同的文件名,你可以修改它。

阅读 documentation for firebase.json 了解更多详细信息。