Firebase &引用;“规则内容为空”;更改firestore.rules时,使用emulator在firestore中出错
错误:对firestore.rules的任何更改,firestore emulator输出:Firebase &引用;“规则内容为空”;更改firestore.rules时,使用emulator在firestore中出错,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,错误:对firestore.rules的任何更改,firestore emulator输出: i firestore: Change detected, updating rules... **⚠ firestore.rules:0:0 - ERROR Rules content empty. Compilation aborted.** ✔ firestore: Rules updated. 平台尝试:WSL以及virtualbox下的Ubuntu虚拟机 Codelab: 当前fire
i firestore: Change detected, updating rules...
**⚠ firestore.rules:0:0 - ERROR Rules content empty. Compilation aborted.**
✔ firestore: Rules updated.
平台尝试:WSL以及virtualbox下的Ubuntu虚拟机
Codelab:
当前firestore。规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /carts/{cartID} {
allow create: if request.auth.uid == request.resource.data.ownerUID;
allow read, update, delete: if request.auth.uid == resource.data.ownerUID;
}
match /carts/{cartID}/items/{itemID} {
allow read, write: if get(/databases/$(database)/documents/carts/$(cartID)).data.ownerUID == request.auth.uid;
}
match /items/{itemID} {
allow read; // Users can read items
// In a production app, don't allow unconditional write access!
allow create; // For the codelab, client app uses this to add seed data.
}
}
}
Firebase控制台上的项目配置:仅对默认项目进行了两次修改,即启用匿名身份验证(根据codelab)和在生产模式下添加firestore
。。。我在谷歌上搜索了这个“firestore.rules:0:0-错误规则内容为空。编译已中止。”错误,但没有出现任何结果。其他人看到了吗?该错误向我表明,您的代码试图加载一个空文件。检查您的配置是否指向正确的文件,并确保在文本编辑器中保存该文件,以确保它包含您期望的内容。该错误向我表明您的代码正在尝试加载一个空文件。检查您的配置是否指向正确的文件,并确保将该文件保存在文本编辑器中,以确保它包含您期望的内容。我的经验是,这是emulator中的一个错误。当测试规则一次又一次地更改(或单元测试更改)时,我有时会遇到这个错误。如果我这样做,所有未来的规则更改似乎都会被忽略。很奇怪 遗憾的是,我目前的解决方法是停止并重新启动模拟器。然后事情就会如预期的那样开始运作
如果有人有不同的解决方案,我很乐意听到 根据我的经验,这是模拟器中的一个bug。当测试规则一次又一次地更改(或单元测试更改)时,我有时会遇到这个错误。如果我这样做,所有未来的规则更改似乎都会被忽略。很奇怪 遗憾的是,我目前的解决方法是停止并重新启动模拟器。然后事情就会如预期的那样开始运作
如果有人有不同的解决方案,我很乐意听到 出于好奇,您是否尝试过删除
rules_version='2'代码>从一开始?我的理论是,仿真器无法识别该指令是一个错误。出于好奇,您是否尝试过删除rules_version='2'代码>从一开始?我的理论是,仿真器不识别该指令是一个错误。这可能是一个以行结尾的crlf问题吗?。。。我想当我在Ubuntu虚拟机上运行它时,遇到了与运行WSL提交的代码相同的错误。我想我可以在代码实验室的结帐处试试。好的。。。有趣/诡异:用vim编辑firestore.rules不会产生错误,但用VS代码编辑会产生错误。是否有可能一个人正在原地编辑,另一个人正在执行某种删除/替换操作,从而使文件在中间阶段为空?如果安装建议的WSL VSCode插件,WSL/VSCode中的问题就会消失。这是否可能是一个行结束crlf问题?。。。我想当我在Ubuntu虚拟机上运行它时,遇到了与运行WSL提交的代码相同的错误。我想我可以在代码实验室的结帐处试试。好的。。。有趣/诡异:用vim编辑firestore.rules不会产生错误,但用VS代码编辑会产生错误。是否有可能一个人正在原地编辑,另一个人正在执行某种删除/替换操作,从而使文件在中间阶段为空?如果安装建议的WSL VSCode插件,WSL/VSCode中的问题就会消失。