Ошибка установки npm - неверный package.json

Я использую этот учебник, чтобы понять реализацию oauth2 в Node.js.

Это мой пакет .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

Любые идеи, что не так с моим пакетом .json?

Ответ 1

Ошибка означает то, что она заявляет, JSON в вашем package.json недействителен и не может быть правильно проанализирован. Измените "debug" "~0.7.2" на "debug": "~0.7.2".

Ответ 2

Я пришел на эту страницу из-за той же ошибки npm, но по другой причине. После просмотра файлов журнала я понял, что npm мне не нравится мой комментарий в верхней строке файла.

// package.json
{ ...
}

После удаления всех комментариев, npm отлично справляется с этим. Мой комментарий не нужен, поэтому я в порядке. Но если вам нужны комментарии в вашем xml, см. Как добавить комментарии к package.json для установки npm?

Ответ 3

У меня была такая же проблема, вызванная изменениями, внесенными мной в мой файл 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": "[email protected]",
   "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"
}

Ответ 4

Иногда у вас могут быть некоторые странные символы юникода в вашем package.json. Например, у вас может быть \u00A0 (unicode неразрывное пространство) вместо места где-то. Он выглядит так же в редакторе, поэтому будьте осторожны.

(У меня была такая проблема после копирования небольшого фрагмента конфигурации из блога.)

Ответ 5

Используйте эту команду для исправления проблемы, связанной с пакетом. json.

npm cache clean

Ответ 6

Мой проект был в D:\wwwroot\Projetos 2017\Android\PluginTest\PluginTest\plugins\cordova-plugin-iservice

Проблема заключается в пробеле между Projetos (здесь) 2017

Я удалил место: D:\Wwwroot\Projetos2017\Android\PluginTest\PluginTest\Plugins\Cordova-плагин-IService

и отлично работать