解析错误运行firebase deploy时flutter应用程序上的1:1 {处出现意外标记“”

7tofc5zh  于 2022-12-14  发布在  Flutter
关注(0)|答案(2)|浏览(69)

尝试从根项目部署firebase时遇到以下消息
错误:在...\firestore.indexes.json中出现解析错误。在1:1处出现意外的标记“"。
我有一个flutter应用程序,上面还有一个函数文件夹,下面是文件位置:

  • 应用程序文件夹
  • 功能
  • .eslintrc.js
  • index.js
  • package.json
  • 等等
  • 自由
  • 与flutter应用程序相关的文件
  • 试验,测验
  • 与flutter应用程序相关的测试文件
  • 网页防火存储器. indexes.json
  • firebase.json
  • 等等

我在一个新建成的个人电脑上运行windows 11(所以可能缺少什么?),其他devs在mac上运行,我已经在函数文件夹的3个文件上将EOF序列更改为LF,我还在函数文件夹内运行了这两个命令
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
npm版本为8.1.2
节点版本为v16.13.1
json文件名为:

{
  "indexes": [
    {
      "collectionGroup": "something1",
      "queryScope": "COLLECTION",
      "fields": [
        {
          "fieldPath": "created",
          "order": "DESCENDING"
        },
        {
          "fieldPath": "something2",
          "order": "DESCENDING"
        }
      ]
    },
    {
      "collectionGroup": "something3",
      "queryScope": "COLLECTION",
      "fields": [
        {
          "fieldPath": "something4",
          "order": "ASCENDING"
        },
        {
          "fieldPath": "something5",
          "order": "DESCENDING"
        }
      ]
    }
  ],
  "fieldOverrides": []
}

. elslint.js为

module.exports = {
  "root": true,
  "env": {
    es6: true,
    node: true,
  },
  "extends": [
    "eslint:recommended",
    "google",
  ],
  "rules": {
    quotes: ["error", "double"],
  },
  "parserOptions": {
    "ecmaVersion": 2020,
  },
};

并且package.json是

"name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase emulators:start --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "14"
  },
  "main": "index.js",
  "dependencies": {
    "axios": "^0.24.0",
    "device-detector-js": "^3.0.0",
    "firebase": "^9.2.0",
    "firebase-admin": "^10.0.1",
    "firebase-functions": "^3.16.0"
  },
  "devDependencies": {
    "eslint": "^8.1.0",
    "eslint-config-google": "^0.14.0",
    "firebase-functions-test": "^0.3.3"
  },
  "private": true
}

请记住,在运行Windows 10的旧PC中,我可以通过只更改为LF并运行上述命令来部署。

qzwqbdag

qzwqbdag1#

只需尝试创建一个新的文本文件,并将生成的文件内容复制到新文件中。然后用firestore.indexes.json覆盖新文件
很明显,生成的json文件存在一些格式问题。

zbdgwd5y

zbdgwd5y2#

我最近遇到了这个问题,发现通过修改firebase.json文件可以解决这个问题:
查找**“预部署”:**
删除代码,使结果为**“predeploy”:[]**
在此之后,再次运行firebase deploy函数,一切都应该没问题。
感谢Max与我分享此解决方案:)

相关问题