What needs to change in this package.json file to

2019-02-12 17:19发布

问题:

Trying to use a lib but getting this error...

npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse Note that package.json must be actual JSON, not
npm ERR! JSON.parse just a JavaScript object.
npm ERR! JSON.parse 
npm ERR! JSON.parse This changed in npm 0.3.0, and is not a bug in npm.
npm ERR! JSON.parse Tell the package author to fix their package.json file.

Not sure what changes are likely needed to make it valid JSON, thanks very much!

回答1:

Valid JSON must have both keys and values of an object in quotes. Surround all of your keys in quotation marks and that should make the error go away.

Reference: JSON spec

Update: I did the dirty work for you. Let me know if this fixes it.

{ "name": "embedly"
, "version": "0.3.2"
, "description": "Embedly client library for node"
, "homepage": "https://github.com/embedly/embedly-node"
, "keywords": []
, "author":
  { "name": "Bob Corsaro"
  , "email": "bob@embed.ly"
  , "url": "http://www.google.com/profiles/rcorsaro"
  }
, "repository":
  { "type": "git"
  , "url": "git://github.com/embedly/embedly-node"
  }
, "bugs": { "web": "http://github.com/embedly/embedly-node/issues/" }
, "directories":
  { "doc": "./docs"
  , "lib": "./lib"
  , "test": "./test"
  }
, "dependencies": {"hashish": "", "qs": ""}
, "devDependencies": {"vows": ">= 0.5.6"}
, "main": "./lib/embedly.js"
, "scripts": { "test": "vows" }
, "bin":
  { "embedly_oembed": "bin/embedly_oembed.js"
  , "embedly_objectify": "bin/embedly_objectify.js"
  , "embedly_preview": "bin/embedly_preview.js"
  }
}


回答2:

Just to complete the answer, you can simply use an online JSON validator to validate your package.json.
I highly recommend http://jsonlint.com/, paste your package.json in the textarea and click on the Validate button, that's all!



回答3:

Super cool way to fix / validate the package.json :

node package.json

and you have your json validated or the error line.

Why use jsonlint, sounds pretty lame.



回答4:

In addition to @Hans Engel's answer use npm help json to get the specification of what should be in the package.json file



回答5:

I have been through this problem and in my case it was just that in place of comma(,). I have used dot(.). You can simply open it up in any JSON validator and it will help you up. One of the JSON validator's link is as follows . http://www.bodurov.com/JsonFormatter/



回答6:

I also got the same error message, first run npm package.json to check errors in package.json file, if not then run npm cache clean.