Heroku部署解析错误:预计在第22行,第1列有另一个键值



虽然我检查了网络和Stackoverflow上的其他帖子,但我无法弄清楚。我正在尝试将我的应用程序部署到Heroku。然而,我一直面临着解析json文件的问题。Json似乎是合适的,并应用了这些建议& # 39; heroku # 39;没有git仓库

或heroku错误:期望另一个键值对

或Heroku app won't部署解析错误:在第10行,第3列期望另一个键值对node.js

你可以看到我的jason:

{
"name": "signup",
"version": "1.0.0",
"description": "Newsletter mailing",
"main": "app.js",
"scripts": {
"start": "node app.js",
"test": "echo "Error: no test specified" && exit 1",
"build": "ng build",
"heroku-postbuild": "ng build --prod"
},
"dependencies": {
"@mailchimp/mailchimp_marketing": "^3.0.66",
"body-parser": "^1.19.0",
"express": "^4.17.1",
"hyperline": "^1.2.0",
"nodemon": "^2.0.12"
},
"author": "",
"license": "ISC",
"engines": {
"node": "14.15.3",
"npm": "6.14.9"
},
}

你也可以看到错误如下:git push heroku命令后的超级终端屏幕

你觉得怎么样?谢谢你

这与Git无关:当使用Heroku时,Git只是一个发送"包"的信使。就像你的源文件一样。然后,Heroku打开这些包(在这种情况下,读取包文件失败了!),处理它们的内容,并生成自己的消息,Git将这些消息转发给您

。Heroku文本是所有以单词remote为前缀的内容。在本例中,除了其他项外,您还得到以下几行:

remote: parse error: Expected another key-value pair at line 22, column 1
remote:  !     Unable to parse package.json

parse error和随后的行是来自Heroku的消息:Git用remote这个词作为前缀告诉你我,Git,我没有说这个;我只是在转述这里别人说过的话

现在,在JSON文件中有一个明显的1错误,但它实际上不是在第22行,而是在第24行(或者在
第24行和第25行之间缺少的文本):

21   "engines": {
22     "node": "14.15.3",
23     "npm": "6.14.9"
24   },

看到第24行如何以逗号结尾了吗?这意味着下面必须有更多的JSON -但是接下来的东西只是一个最后的结束大括号,这意味着第24行应该以结尾,而不应有逗号。

幸运的是,我重新输入你的Heroku消息没有引入任何错误。这可能不是唯一的问题,但它应该可以帮助您解决解析JSON文件失败的问题。

1一旦你知道,无论如何都是显而易见的。JSON严格要求逗号作为分隔符,而不是结束符。