Node应用部署至Heroku失败:package.json解析错误求助
解决Heroku推送Node应用时的JSON解析构建失败问题
嗨,这个问题我之前帮好几个开发者解决过——你遇到的parse error: Expected another key-value pair错误,本质就是package.json的JSON格式不合法!从你描述的第53行是engines字段前的花括号来看,大概率是devDependencies对象里最后一个依赖项后面多了个多余的逗号,导致JSON解析器读到这里时,误以为还需要继续读取下一个键值对,直接触发了报错。
给你几个具体的修复步骤:
- 先仔细检查你的
devDependencies代码片段:看看最后一个依赖(比如你提到的codelyze...)末尾是不是带了逗号。JSON语法里,对象的最后一个键值对是不能加逗号的,举个正确的写法例子:
注意"devDependencies": { "@angular/language-service": "^5.2.0", "@types/jasmine": "~2.8.3", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", "codelyzer": "^4.0.1" }, "engines": { "node": "14.x", "npm": "6.x" }codelyzer后面没有逗号,紧接着才是engines字段的开头花括号。 - 修复后先在本地验证JSON合法性:可以直接运行
npm validate命令,或者安装jsonlint包(npm install -g jsonlint)后执行jsonlint package.json,确保没有语法错误。 - 确认没问题后,重新提交修复后的package.json到Git仓库,再推送至Heroku,这个构建失败的问题应该就能解决了。
内容的提问来源于stack exchange,提问作者joomo
相关产品推荐
相关产品推荐

