尝试从根项目部署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并运行上述命令来部署。
2条答案
按热度按时间qzwqbdag1#
只需尝试创建一个新的文本文件,并将生成的文件内容复制到新文件中。然后用
firestore.indexes.json
覆盖新文件很明显,生成的json文件存在一些格式问题。
zbdgwd5y2#
我最近遇到了这个问题,发现通过修改firebase.json文件可以解决这个问题:
查找**“预部署”:**
删除代码,使结果为**“predeploy”:[]**
在此之后,再次运行firebase deploy函数,一切都应该没问题。
感谢Max与我分享此解决方案:)