package.json 必须是实际的 JSON,而不仅仅是 JavaScript
Posted
技术标签:
【中文标题】package.json 必须是实际的 JSON,而不仅仅是 JavaScript【英文标题】:package.json must be actual JSON, not just JavaScript 【发布时间】:2014-09-15 04:58:52 【问题描述】:我使用http://jsonlint.com/ 来检查这个 package.json 文件的语法
"name": "hello-world",
"description": "hello world test app",
"version": "0.0.1",
"private": true,
"dependencies":
"express": “4.6.1"
返回错误
Parse error on line 7:
... "express": “4.6.1"
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '', '['
不知道这有什么问题。终端抛出使用 npm install 的错误
"Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just javascript."
【问题讨论】:
【参考方案1】:在 4 - “4.6.1"
之前有大引号。将其更改为常规引号字符,它将通过。
【讨论】:
【参考方案2】:只需在提示符下输入npm cache clean
,所有的东西都必须再次工作。
【讨论】:
似乎我们中的一些人在没有任何“卷曲”引号的情况下遇到此错误。在这种情况下,这个答案很有效......我喜欢 NPM 声明“这不是 NPM 中的错误”Lol 的事实。显然是 npm 中的一个错误。 谢谢,这帮助很大。 :) 从 npm@5 开始,npm 缓存从损坏问题中自我修复,并且从缓存中提取的数据保证有效。如果您想确保一切一致,请改用npm cache verify
更新,因为它与较新的版本相关,但在上述发布时没有。从 npm@5 开始,您必须执行 npm cache clean --force
【参考方案3】:
package.json 文件不能为空。
如果您有空的包 json 文件,只需添加 。
然后再试一次。
【讨论】:
这是解决我的问题的唯一答案。我已经厌倦了阅读npm cache clean
的答案。谢谢!!
这也解决了我的问题。 “npm cache clean”对我的影响为零。【参考方案4】:
这是一般语法错误消息。当我的代码中缺少逗号时收到相同的错误。如果代码中出现故障,仅运行 npm cache clean 将不起作用。我添加了缺少的逗号,程序运行成功。
【讨论】:
【参考方案5】:我遇到了同样类型的错误。答案,npm cache clean
曾经解决了我的问题,但我在安装 express.js
时因为另一个原因卡住了
我从这段中学到的一个简短建议是将 放入
package.json
文件中。我没有尝试过,但我相信这会奏效。
我已经完成了另一项工作。
我输入了npm init
,然后在这个文件上写了一些描述,比如项目名称、作者、版本等。然后我就终止了。这使我的文件成为真正的JSON Format.
我的问题解决了。
【讨论】:
npm 错误!从 npm@5 开始,npm 缓存可以从损坏问题中自我修复【参考方案6】:您在第 7 行中使用了错误的引号。
这个版本可以完成这项工作。 ;-)
"name": "hello-world",
"description": "hello world test app",
"version": "0.0.1",
"private": true,
"dependencies":
"express": "4.6.1"
【讨论】:
您好,感谢您的贡献。您在 6 年前的问题上发布的答案与其他现有答案相似。最好寻找新的问题来回答并为社区做出贡献。【参考方案7】:只需在提示符下输入npm cache clean
,所有的东西都必须再次工作。
其他选项是检查您是否没有在 JSON 代码中注释任何内容,因为 JSON 不支持 cmets。
【讨论】:
以上是关于package.json 必须是实际的 JSON,而不仅仅是 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章
Package.json 有一个实际不存在的 Package 版本。发生啥了?
json 我们必须反应[EP.03] package.json