Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 错误:读取规则文件firestore.rules时出错_Firebase_Google Cloud Firestore - Fatal编程技术网

Firebase 错误:读取规则文件firestore.rules时出错

Firebase 错误:读取规则文件firestore.rules时出错,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我试图在使用Firebase作为主机的同时部署我的网站,并删除了firestore.rules文件,因为我认为我不需要使用Cloud firestore数据库(我现在只是部署一个占位符) 我已遵循中提到的所有步骤 当我运行firebase deploy时,我得到一个错误: 错误:读取规则文件firestore.rules时出错 我不知道如何克服这一点。有人能帮我解决这个问题吗?谢谢大家! 从firebase.json文件中删除:“规则”:“firestore.rules”从firebase.js

我试图在使用Firebase作为主机的同时部署我的网站,并删除了
firestore.rules
文件,因为我认为我不需要使用Cloud firestore数据库(我现在只是部署一个占位符)

我已遵循中提到的所有步骤

当我运行
firebase deploy
时,我得到一个错误:

错误:读取规则文件firestore.rules时出错

我不知道如何克服这一点。有人能帮我解决这个问题吗?谢谢大家!

从firebase.json文件中删除:“规则”:“firestore.rules”

从firebase.json文件中删除:“规则”:“firestore.rules”

如何检索现有的云firestore规则
{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "storage": {
    "rules": "storage.rules"
  },
  "hosting": {
    "public": "./public",
    "headers": [
      {
        "source": "**/*.@(js|html)",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "max-age=0"
          }
        ]
      }
    ]
  }
}
转到您的
Firebase控制台
,从侧边栏中的
Build
类别中单击
Cloud Firestore
。 您可以在屏幕顶部(Cloud Firestore标题下方)看到一个
规则
选项卡。打开
规则
选项卡。现在,您可以看到当前处于活动状态的规则以及迄今为止部署的所有其他规则(通过CLI或Firebase控制台)

您可以从此处复制规则并将其粘贴到项目文件夹中名为
firestore.rules
的文件中

如何修复错误“错误:读取规则文件firestore.rules时出错” 如果您在
firebase.json
文件中为
firestore.rules
设置了错误路径(例如,将文件移动到子文件夹),或者您根本没有
firestore.rules
文件,但在
firebase.json
中引用它,则很可能会出现此错误

firebase.json中设置了错误的路径 从firebase项目文件夹中打开
firebase.json
文件。您可以在此文件中找到一些路径和文件名

查找
firestore
类别。它应该类似于这样:

"firestore": {
  "rules": "firestore.rules",
  "indexes": "firestore.indexes.json"
},
您可能需要更新路径或文件名以匹配
firestore.rules
所在的位置

如果找不到
firestore
的任何路径,可以将它们添加到
firebase.json
文件中。现在看起来可能是这样的(注意:我移动了我的firestore文件并更改了
firestore.rules
firestore.index.json
)的路径:

如果不想从项目文件夹部署任何Firestore规则 如果您想在
Firebase控制台上部署
Firestore规则
,可以从项目文件夹中删除
Firestore.rules
Firestore.index.json
文件,并从
Firebase.json
中删除
Firestore
部分。尽管我建议将它们保存在项目文件夹中,以便您可以在版本控制系统中跟踪它们

请记住,您也可以删除
firebase.json
文件中的引用,即
rules
未通过CLI部署,并保留
firestore.rules
firestore.index.json
文件

如果您不想通过CLI部署Firestore规则,请删除此项:

"firestore": {
  "rules": "firestore.rules",
  "indexes": "firestore.indexes.json"
},
如何检索现有的云Firestore规则 转到您的
Firebase控制台
,从侧边栏中的
Build
类别中单击
Cloud Firestore
。 您可以在屏幕顶部(Cloud Firestore标题下方)看到一个
规则
选项卡。打开
规则
选项卡。现在,您可以看到当前处于活动状态的规则以及迄今为止部署的所有其他规则(通过CLI或Firebase控制台)

您可以从此处复制规则并将其粘贴到项目文件夹中名为
firestore.rules
的文件中

如何修复错误“错误:读取规则文件firestore.rules时出错” 如果您在
firebase.json
文件中为
firestore.rules
设置了错误路径(例如,将文件移动到子文件夹),或者您根本没有
firestore.rules
文件,但在
firebase.json
中引用它,则很可能会出现此错误

firebase.json中设置了错误的路径 从firebase项目文件夹中打开
firebase.json
文件。您可以在此文件中找到一些路径和文件名

查找
firestore
类别。它应该类似于这样:

"firestore": {
  "rules": "firestore.rules",
  "indexes": "firestore.indexes.json"
},
您可能需要更新路径或文件名以匹配
firestore.rules
所在的位置

如果找不到
firestore
的任何路径,可以将它们添加到
firebase.json
文件中。现在看起来可能是这样的(注意:我移动了我的firestore文件并更改了
firestore.rules
firestore.index.json
)的路径:

如果不想从项目文件夹部署任何Firestore规则 如果您想在
Firebase控制台上部署
Firestore规则
,可以从项目文件夹中删除
Firestore.rules
Firestore.index.json
文件,并从
Firebase.json
中删除
Firestore
部分。尽管我建议将它们保存在项目文件夹中,以便您可以在版本控制系统中跟踪它们

请记住,您也可以删除
firebase.json
文件中的引用,即
rules
未通过CLI部署,并保留
firestore.rules
firestore.index.json
文件

如果您不想通过CLI部署Firestore规则,请删除此项:

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

如果您正在学习本教程 然后,这里的问题是,当您尝试运行此命令部署firebase deploy时,除了函数之外,此脚本将尝试在根目录中查找具有
firestore.rules
storage.rules
的文件,您将得到以下
错误:读取规则文件存储.rules
t
// Returns true if the uploaded file is an image and its size is below the given number of MB.
function isImageBelowMaxSize(maxSizeMB) {
  return request.resource.size < maxSizeMB * 1024 * 1024
      && request.resource.contentType.matches('image/.*');
}

service firebase.storage {
  match /b/{bucket}/o {
    match /{userId}/{messageId}/{fileName} {
      allow write: if request.auth != null && request.auth.uid == userId && isImageBelowMaxSize(5);
      allow read;
    }
  }
}