npm安装错误 - package.json无效

时间:2013-09-11 14:16:51

标签: json node.js express oauth-2.0 npm

我正在使用this教程来了解在Node.js中实现oauth2。

这是我的package.json:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "coffee -w server.coffee"
  },  
  "dependencies": {
    "express": "3.3.4",
    "jade": "*",
    "coffee-script": "latest",
    "passport-http": "latest",
    "passport-http-bearer": "latest",
    "passport-oauth2-client-password": "latest",
    "oauth2orize": "latest",
    "debug" "~0.7.2"
  }
}

我收到了错误:

npm ERR! install Couldn't read dependencies
npm ERR! Failed to parse json
npm ERR! Unexpected string
npm ERR! File: /Users/jashua/Desktop/auth/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR! 
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse

npm ERR! System Darwin 12.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/jashua/Desktop/auth
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! file /Users/jashua/Desktop/auth/package.json
npm ERR! code EJSONPARSE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/me/Desktop/auth/npm-debug.log
npm ERR! not ok code 0

我的package.json有什么问题吗?

7 个答案:

答案 0 :(得分:11)

错误意味着它所声明的内容,package.json中的JSON无效且无法正确解析。将"debug" "~0.7.2"更改为"debug": "~0.7.2"

答案 1 :(得分:0)

由于相同的npm错误,我到达了此页面,但原因不同。查看日志文件后,我意识到npm不喜欢我对文件顶行的评论。

// package.json
{ ...
}

删除所有评论后,npm精彩地浏览了所有内容。我的评论没有必要,所以我很好。但是,如果您需要在xml中添加评论,请参阅How do I add comments to package.json for npm install?

答案 2 :(得分:0)

我遇到了与我package.json文件所做的更改相同的问题。我刚刚恢复到package.json文件的备份版本。如果其他人需要,我在下面附上:

{"name": "OpenShift-Sample-App",
 "version": "1.0.0",
 "description": "OpenShift Sample Application",
 "keywords": [
   "OpenShift",
   "Node.js",
   "application",
   "openshift"
 ],
 "author": {
   "name": "OpenShift",
   "email": "ramr@example.org",
   "url": "http://www.openshift.com/"
 },
 "homepage": "http://www.openshift.com/",
 "repository": {
   "type": "git",
   "url": "https://github.com/openshift/origin-server"
 },
 "engines": {
   "node": ">= 0.6.0",
   "npm": ">= 1.0.0"
 },
 "dependencies": {
   "express": "~3.4.4"
 },
 "devDependencies": {},
 "bundleDependencies": [],
 "private": true,
 "main": "server.js"
}

答案 3 :(得分:0)

有时你的package.json可能会有一些奇怪的unicode字符。例如,您可能有\u00A0(unicode非中断空格)而不是某处的空格。它在编辑器中看起来是一样的,所以要小心。

(从博客复制一小段配置后,我遇到了这样的问题。)

答案 4 :(得分:0)

使用此命令修复package.json相关问题。

npm cache clean

答案 5 :(得分:0)

我的项目位于D:\ wwwroot \ Projetos 2017 \ Android \ PluginTest \ PluginTest \ plugins \ cordova-plugin-iservice

问题是Projetos(这里)2017

之间的空间

我删除了空间: d:\ wwwroot的\ Projetos2017 \的Android \ PluginTest \ PluginTest \插件\科尔多瓦-插件-iservice

并且工作正常

答案 6 :(得分:0)

C:\Program Files\nodejs>npm cache verify

在Windows 10上修复它,并在管理员命令提示符窗口中运行它。