Ответ 1
Благодаря Jivings из этого комментария:
npm cache clean
решил проблему.
Когда я пытаюсь установить 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
Благодаря Jivings из этого комментария:
npm cache clean
решил проблему.
У меня была такая же проблема, но "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
В проекте Laravel:
В основном, эта ошибка вызвана синтаксической ошибкой в файле 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"
}
}
Я также получил то же сообщение об ошибке во время запуска npm install
, сначала запустите npm package.json
, чтобы проверить ошибки в файле package.json, если не выполнить npm cache clean
Этот пост довольно старый, но я недавно столкнулся с этой ошибкой, и я подумал, что я тоже разделяю
npm cache clean
работал у меня
Я сталкивался с этой проблемой несколько раз, прежде чем привык к использованию NPM. Больше всего времени было, потому что я не смог использовать npm init перед установкой npm
Подобная проблема возникла у меня сегодня после обновления 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 решило проблему. Надеюсь, что это помогает другим людям, которые могут испытать это изменение по этому вопросу.
В моем случае 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
Следующий скрипт 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
Скрипт выполняет следующие задачи:
Более подробную информацию о npm install можно найти в документации по команде npm-install
В дополнение к 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.
Проверьте неиспользуемые пробелы в файле package.json, это может быть вызвано дополнительными пробелами.
Я думаю, что вы могли внести некоторые изменения в package.json, и это недопустимо
npm init
npm install express
Я решил проблему, используя следующие шаги:
Удалить папку node_modules
Удалить файл package-lock.json
Запустите npm install
Запустить npm start
Не забудьте отредактировать свой пакет .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"
}
}
Попробуйте открыть редактор txt и выберите "обычный текст" для package.json, а затем снова сохраните. Иногда проблема игнорируется, и простые вещи удерживают ответ.