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

时间:2014-07-23 20:16:52

标签: json node.js express npm

我使用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."

6 个答案:

答案 0 :(得分:31)

只需在提示符下键入npm cache clean,所有内容都必须重新运行。

答案 1 :(得分:13)

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

答案 2 :(得分:9)

package.json文件不应为空。

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

再试一次。

enter image description here

答案 3 :(得分:0)

这是一条常规语法错误消息。当我的代码中缺少逗号时,收到相同的错误。如果代码中有故障,仅运行npm缓存清理将不起作用。我添加了缺少的逗号,程序运行成功。

答案 4 :(得分:0)

我遇到了相同类型的错误。答案npm cache clean曾经解决了我的问题,但是在安装express.js

时又因为另一个原因而卡住了
  1. 有一个简短的建议,就是我从这一部分中学到的是将{}放在package.json文件中。我没有尝试过,但是我相信那可以。

  2. 我做了另一项工作。

我键入了npm init,然后在此文件上添加了一些描述,例如项目名称,作者,版本等。然后我终止了。这使我的文件成为真实的JSON Format.,我的问题就解决了。

答案 5 :(得分:0)

您在第 7 行使用了错误的引号。

这个版本可以完成这项工作。 ;-)

{
  "name": "hello-world",
  "description": "hello world test app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "4.6.1"
  }
}