【问题标题】:How do I use CLI to deploy Security Rules for firestore? Error: Cannot understand what targets to deploy如何使用 CLI 为 Firestore 部署安全规则?错误:无法理解要部署的目标
【发布时间】:2019-02-03 10:20:27
【问题描述】:

我无法使 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"

}

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

【问题讨论】:

    标签: google-cloud-firestore firebase-security firebase-cli


    【解决方案1】:

    命令是这样的:

    firebase deploy --only firestore
    

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

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

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

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

    【讨论】:

    • 由于某种原因,这在我的项目中不存在。我想这可能是因为我通过 Git 将它转移到了另一台机器上。这行得通,谢谢。
    • 要从一开始就获得所有这些,您必须在使用 CLI 初始化项目时选择 Firestore 作为产品选项。您可能只是没有选择它。
    猜你喜欢
    • 2018-02-06
    • 2018-08-05
    • 2017-12-01
    • 2021-06-24
    • 2016-06-12
    • 1970-01-01
    • 2021-07-14
    • 2018-08-29
    • 2016-11-11
    相关资源
    最近更新 更多