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 版本。发生啥了?

(译)package.json详解

package.json文件属性

json 我们必须反应[EP.03] package.json

如何将 node_modules 与实际的 package.json 同步?

package.json作用