Firebase 实时数据库仿真器忽略database.rules.json

Firebase 实时数据库仿真器忽略database.rules.json,firebase,firebase-realtime-database,firebase-security,firebase-cli,Firebase,Firebase Realtime Database,Firebase Security,Firebase Cli,我有一个使用实时数据库的Firebase项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase cli似乎正在导入我的database.rules.json文件。甚至在创建一个测试项目来解决这个特定问题之后,这种情况也会发生 让我给你一些关于我的设置的信息 我创建了一个没有启用任何功能的Firebase项目。我在本地计算机上创建了一个空目录,并运行了firebase init database。这样做会创建一些文件: .firebaserc { "projects": {

我有一个使用实时数据库的Firebase项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase cli似乎正在导入我的
database.rules.json
文件。甚至在创建一个测试项目来解决这个特定问题之后,这种情况也会发生

让我给你一些关于我的设置的信息

我创建了一个没有启用任何功能的Firebase项目。我在本地计算机上创建了一个空目录,并运行了
firebase init database
。这样做会创建一些文件:

.firebaserc

{
  "projects": {
    "default": "emulators-test-244be"
  }
}
firebase.json

{
  "database": {
    "rules": "database.rules.json"
  }
}
database.rules.json
(我在这里修改了规则以锁定数据库)

当我使用
firebase仿真器:start--only database
运行仿真器时,控制台告诉我数据库已成功初始化。但是,当我访问
http://localhost:9000/.inspect/coverage?ns=emulators-test-244be
要查看当前加载的安全规则,它提供以下输出:

{
    "rules": {
        ".read": true,
        ".write": true
    }
}
显然,这与我在
database.rules.json
文件中设置的规则直接冲突

我注意到的一点是,如果在emulator运行时修改
database.rules.json
文件,我会从控制台获得以下输出:

i数据库:检测到更改,正在更新未定义的规则…

显然,这样做会导致仿真器创建一个名为
undefined
的新数据库。当我转到
http://localhost:9000/.inspect/coverage?ns=undefined
,输出正确反映了我在
数据库.rules.json
文件中设置的内容

为什么会这样?我是否错误地设置了本地Firebase项目?或者Firebase CLI中是否存在错误?我搜索了Firebase文档、Stack Overflow和Google。我什么也没找到

我有firebase工具版本
8.4.3

更新

在搜索了
firebase tools
GitHub repo上的问题之后,这似乎是一个bug

链接此处:

{
    "rules": {
        ".read": true,
        ".write": true
    }
}