package.json必须是实际的JSON,而不仅仅是JavaScript

nmo*_*y93 16 json node.js npm express

我使用http://jsonlint.com/来检查这个package.json文件的语法

{
  "name": "hello-world",
  "description": "hello world test app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": “4.6.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

它返回错误

Parse error on line 7:
...        "express": “4.6.1"  }}
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
Run Code Online (Sandbox Code Playgroud)

不知道这有什么问题.终端正在抛出使用npm install的错误

"Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript."
Run Code Online (Sandbox Code Playgroud)

小智 30

只需输入npm cache clean提示,所有事情都必须重新开始.

  • 似乎我们中的一些人在没有任何"卷曲"引号的情况下得到了这个错误.在这种情况下,这个答案是有用的......我喜欢NPM宣称'这不是NPM中的错误'的事实.显然是npm中的一个错误. (3认同)

glo*_*tho 16

你在4 - 之前有弯引号“4.6.1".将其更改为常规引号字符,它将通过.


Lij*_*ijo 10

package.json文件不应为空.

如果你有空包json文件,只需添加{}.

然后再试一次.

在此输入图像描述

  • 这是解决我的问题的**唯一**答案。我已经厌倦了阅读“npm cache clean”的答案。谢谢!! (2认同)

小智 7

这是一般语法错误消息。当我的代码中缺少逗号时收到相同的错误。如果代码中存在问题,仅运行 npm cache clean 是行不通的。我添加了缺少的逗号,程序运行成功。