【问题标题】:package.json must be actual JSON, not just JavaScriptpackage.json 必须是实际的 JSON,而不仅仅是 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."

【问题讨论】:

    标签: json node.js express npm


    【解决方案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 时因为另一个原因卡住了

        1. 我从这段中学到的一个简短建议是将{} 放入package.json 文件中。我没有尝试过,但我相信这会奏效。

        2. 我已经完成了另一项工作。

        我输入了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。

        【讨论】:

          猜你喜欢
          • 2022-10-13
          • 2016-06-18
          • 2017-03-19
          • 1970-01-01
          • 1970-01-01
          • 2021-12-31
          • 1970-01-01
          • 2020-08-10
          • 2021-04-08
          相关资源
          最近更新 更多