Подтвердить что ты не робот

Npm "не удалось разобрать json"

Когда я пытаюсь установить express с npm, я всегда получаю следующую ошибку:

Failed to parse json
No data, empty input at 1:1
File: /root/.npm/inherits/2.0.1/package/package.json
Failed to parse package.json data.
package.json must be actual JSON, not just JavaScript.

This is not a bug in npm.
Tell the package author to fix their package.json file. JSON.parse

Что я делаю неправильно?

 sudo npm install -g express

OS - Ubuntu 12.04 (точное) armhf

4b9b3361

Ответ 2

У меня была такая же проблема, но "npm cache clean" не разрешил ее для меня. Мне пришлось вернуться к моему пакету .json и понять, что у меня есть запятая, где я не должен предполагать, как показано ниже:

},
  "devDependencies": {
    "axios": "^0.15.3",
    "bootstrap-sass": "^3.3.7",
    "cross-env": "^3.2.4",
    "jquery": "^3.1.1",
    "laravel-mix": "0.*",
    "lodash": "^4.17.4",
    "vue": "^2.1.10",
  }

после "vue...", поэтому я удалил это, и все вернулись к норме. Таким образом, стоит проверить файл package.json перед запуском npm cache clean

Ответ 3

В проекте Laravel:

  • Удалить 'node_modules' папку;
  • npm cache clean
  • Обновление npm

Ответ 4

В основном, эта ошибка вызвана синтаксической ошибкой в ​​файле package.json. В моем случае отсутствовала открывающая фигурная скобка для объекта зависимостей в package.json: -

Код --------------------------------

{
  "name": "psrxjs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": 
    "rxjs": "^5.4.3"
  }
}

Ответ 5

Я также получил то же сообщение об ошибке во время запуска npm install, сначала запустите npm package.json, чтобы проверить ошибки в файле package.json, если не выполнить npm cache clean

Ответ 6

Этот пост довольно старый, но я недавно столкнулся с этой ошибкой, и я подумал, что я тоже разделяю

npm cache clean

работал у меня

Ответ 7

Я сталкивался с этой проблемой несколько раз, прежде чем привык к использованию NPM. Больше всего времени было, потому что я не смог использовать npm init перед установкой npm

Ответ 8

Подобная проблема возникла у меня сегодня после обновления Node в Windows 10. Мои локальные задачи сборки начали давать сбой, и в ходе расследования я обнаружил все эти ошибки в файлах зависимостей package.json. Ни один из них больше не был действительным JSON, и я видел сообщения вроде:

npm WARN Failed to parse json
npm WARN Unexpected token '\u0019' at 1:1
npm WARN ������2�����bE�;���1L �\5�e���k2?��,?;��쏏a��(T��w��+I��/�6�P} ��i�|e�
npm WARN ^

в моей консоли.

У этой истории счастливый конец, так как выясняется, что новый Node не очень хорошо работает со старым NPM, и обновление NPM до версии 5 решило проблему. Надеюсь, что это помогает другим людям, которые могут испытать это изменение по этому вопросу.

Ответ 9

В моем случае Missing a comma somewhere in a package.json файле Missing a comma somewhere in a package.json Проверьте файл package.json. После этого sudo npm install

или же

Очистить кеш-память. sudo npm cache clean

Ответ 10

Следующий скрипт bash автоматически решает проблему

#!/usr/bin/env bash
echo -e '#!/usr/bin/env bash' > npm_install.sh
cat npm-debug.log | grep 'error File:' | sed -n 's:.*error File\: \(.*\):echo "Removing \1"\nrm -f \1\necho "Cleaning npm cache"\nnpm cache clean\necho "Reinstalling npm"\nnpm install\n./npm_reinstall.sh:p' >> npm_install.sh
chmod +x npm_install.sh
./npm_install.sh

Он должен быть сохранен в npm_reinstall.sh и предоставлен разрешения на выполнение с помощью

chmod +x npm_reinstall.sh

Скрипт выполняет следующие задачи:

  1. Ищем ошибку Файл: в npm-debug.log используя grep
  2. Использование sed для генерации команд исправления 3-5 только при наличии ошибок
  3. Удаление пустого файла rm -f/1 = путь к файлу из первой группы в регулярном выражении. * Файл ошибки: (. *)
  4. Очистка кеша npm
  5. Переустановка npm npm install
  6. Выполнение. /npm_reinstall.sh рекурсивно, пока не будут найдены ошибки

Более подробную информацию о npm install можно найти в документации по команде npm-install

Ответ 11

В дополнение к Pank ответу, если вы столкнулись с такого рода ошибкой

npm ERR! code EJSONPARSE
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected token } in JSON at position 550 while parsing near '...eact": "^7.12.4",
npm ERR! JSON.parse   },
npm ERR! JSON.parse   "dependencies":...'
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.

Вы должны убедиться, что ваш package.json является действительным json, а не javascript.

Ответ 12

Проверьте неиспользуемые пробелы в файле package.json, это может быть вызвано дополнительными пробелами.

Ответ 13

Я думаю, что вы могли внести некоторые изменения в package.json, и это недопустимо

  1. Удалить node_modules
  2. Удалить package.json
  3. Создайте новый пакет NPM с помощью

npm init

  1. установить все ваши пакеты еще раз

npm install express

Ответ 14

Я решил проблему, используя следующие шаги:

  1. Удалить папку node_modules

  2. Удалить файл package-lock.json

  3. Запустите npm install

  4. Запустить npm start

Ответ 15

Не забудьте отредактировать свой пакет .json, особенно зависимости.

Например, для одного из моих проектов в чате мне нужен следующий контент в package.json:

{
    "name":"chatrooms",
    "version":"0.0.1",
    "description":"Minimalist multi-room chat server",
    "dependencies":{
        "socket.io":"~0.9.6",
        "mime":"~1.2.7"
    }
}

Ответ 16

Попробуйте открыть редактор txt и выберите "обычный текст" для package.json, а затем снова сохраните. Иногда проблема игнорируется, и простые вещи удерживают ответ.