此 package.json 文件需要更改哪些内容才能使用 npm 0.3.0?

Posted

技术标签:

【中文标题】此 package.json 文件需要更改哪些内容才能使用 npm 0.3.0?【英文标题】:What needs to change in this package.json file to work with npm 0.3.0? 【发布时间】:2011-08-04 09:41:39 【问题描述】:

尝试使用 lib 但出现此错误...

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.

不确定可能需要进行哪些更改才能使其成为有效的 JSON,非常感谢!

【问题讨论】:

@fancy 检查我的答案,我认为这是最优雅的方式。你能重置分析器吗? 【参考方案1】:

为了完成答案,您可以简单地使用在线 JSON 验证器来验证您的 package.json。 我强烈推荐http://jsonlint.com/,将您的package.json 粘贴到文本区域并点击验证按钮,仅此而已!

【讨论】:

我强烈推荐我的验证 json 对象的方法@afshin Mehrabani【参考方案2】:

有效的 JSON 必须在引号中包含对象的键和值。将所有键括在引号中,这样错误就会消失。

参考:JSON spec

更新:我为你做了这些肮脏的工作。让我知道这是否能解决问题。

 "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"
  

【讨论】:

另一个共同的区别是任何字典或数组中的尾随共同点。 JSON 不能有尾随逗号。 这也让我很震惊,因为我不得不用引号将布尔值括起来。它在不带引号的情况下传递jsonlint.com。【参考方案3】:

修复/验证 package.json 的超酷方法:

node package.json

您的 json 验证或错误行已验证。

为什么要使用jsonlint,听起来很蹩脚。

【讨论】:

【参考方案4】:

除了@Hans Engel 的回答,使用npm help json 来获取 package.json 文件中应该包含的内容的规范

【讨论】:

【参考方案5】:

我遇到过这个问题,就我而言,它只是代替逗号(,)。 我用过点(。)。 你可以简单地在任何 JSON 验证器中打开它,它会帮助你。 JSON 验证器的链接之一如下。 http://www.bodurov.com/JsonFormatter/

【讨论】:

【参考方案6】:

我也收到了同样的错误信息,首先运行npm package.json 来检查package.json 文件中的错误,如果没有则运行npm cache clean

【讨论】:

以上是关于此 package.json 文件需要更改哪些内容才能使用 npm 0.3.0?的主要内容,如果未能解决你的问题,请参考以下文章

package.json文件内容介绍

如何在 NodeJs 中更改 package.json 中的主文件

如何使用 package.json 脚本同时使用 webpack 监视我的 .ts 文件的更改并运行 Electron?

关于package.json

重新认识package.json

dependabot 只更新锁文件