Ошибка "Не удалось прочитать зависимости" с npm
Я хотел запустить приложение Node и создал файл package.json с учебником. Вот json файл:
{
"name": "Dashboard",
"version": "0.0.0",
"description": "Client-A Dashboard",
"dependencies": {
"socket.io": "latest",
"express": "latest",
"jade": "latest"
},
"author": "tD"
}
Я проверил файл JSON, прежде чем пытаться его запустить, но все же у меня появилось сообщение об ошибке, когда я запустил команду npm install
:
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open 'C:\projects\Client-A\Live\package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\projects\Client-A\Live\
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! path C:\projects\Client-A\Live\package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\projects\Client-A\Live\npm-debug.log
npm ERR! not ok code 0
и вот файл npm-degub.log
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe',
1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe
5 verbose read json C:\projects\Client-A\Live\package.json
6 error install Couldn't read dependencies
7 error Error: ENOENT, open 'C:\projects\Client-A\Live\package.json'
8 error If you need help, you may report this log at:
8 error <http://github.com/isaacs/npm/issues>
8 error or email it to:
8 error <[email protected]>
9 error System Windows_NT 6.1.7601
10 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
11 error cwd C:\projects\Client-A\Live\scoreboard
12 error node -v v0.8.22
13 error npm -v 1.2.14
14 error path C:\projects\Client-A\Live\package.json
15 error code ENOENT
16 error errno 34
17 verbose exit [ 34, true ]
Ответы
Ответ 1
Попробуйте добавить это:
"private": true,
это сработало для меня.
EDIT (для людей, спрашивающих почему):
Официальная документация гласит следующее:
Если вы установите "private": true
в свой пакет package.json, то npm откажется его опубликовать.
Это способ предотвратить случайную публикацию частных репозиториев. Если вы хотите, чтобы данный пакет был опубликован только в конкретном реестре (например, внутренний реестр), используйте описанный ниже хэш publishConfig
, чтобы переопределить параметр конфигурации registry
во время публикации.
Сообщения об ошибках, которые вы получаете, могут быть связаны с нарушением этого "правила" таким образом (мой был).
- Либо вы отмечаете неопубликованный пакет (например, ваше собственное приложение), как
"private": false
.
- Или вы пренебрегаете включением любого значения вообще.
Ответ 2
У меня был "Invalid Name"
Я переключился с "name": "Some Name",...
на "name": "Some-Name",...
Угадай, что name
должна быть неаккуратной.
Ответ 3
В последнее время я начал получать сообщение об ошибке:
npm ERR! install Couldn't read dependencies
npm ERR! Error: Invalid version: "1.0"
Таким образом, вам может потребоваться указать version
вашего пакета с тремя номерами, например. 1.0.0
вместо 1.0
, если вы получите аналогичную ошибку.
Ответ 4
Это просто, вы просто не в правильном каталоге.
Перейдите к C:\Program Files\nodejs\node_modules\npm
, и вы должны правильно выполнить эту команду.
Ответ 5
Попробуйте обновить npm, он работает для меня
[sudo] npm install -g npm
Ответ 6
У меня тоже есть такое же исключение, но он был ранее запущен на другой машине. В любом случае выше решение не сработало для меня. Что я сделал, чтобы решить эту проблему?
- Скопировать список зависимостей в буфер обмена.
- введите "npm init", чтобы создать новый пакет package.json
- Вставьте зависимости снова в пакет package.json
- снова запустите "npm install"!
Готово:) Надеюсь, это поможет.
Ответ 7
Для меня это была версия. Да, строка, которую вы положили в корневой каталог, например:
{
"name": "your-project",
"version": "0.1"
...
}
Да, npm не любит такую версию, она предпочитает нечто вроде "0.0.1
".
Не спрашивайте меня, почему, я скажу вам это совершенно глупо (или "как легко потерять время" )
Ответ 8
Моя ошибка заключалась в том, что я назвал файл packages.json
вместо package.json
Ответ 9
Я понял, что меня не было в правильной папке. Мне нужно было перейти в папку, которую я только что клонировал, прежде чем я запустил эту команду.
Ответ 10
Я получил эту ошибку, когда у меня было место в моем "имени" в файле packagae.json.
"Проект NPM", а не "NPMProject"
Ответ 11
Проблема с отсутствием чтения json связана с проблемами разрешений с файлом.
Использование этой команды сделает трюк:
sudo chown -R $USER:$GROUP ~/.npm
Ответ 12
Это не похоже на вашу проблему, но ради других, для меня это было вызвано недопустимым номером версии в package.json(пришлось менять 2.4 на 2.4.0).
Ответ 13
1) В некоторых случаях Nodejs устанавливается в C:\ProgramFiles. Попробуйте установить на диск C: или другой каталог, если у вас нет прав администратора.
2) Убедитесь, что вы не устанавливаете настройки прокси-сервера компании. Иногда это может повлиять на установку.
3) Наконец, убедитесь, что вы запустили команду npm из этого каталога:
Путь\nodejs\node_modules\НПМ
где Path - ваш собственный каталог.
Ответ 14
Я решил, что проблема просто переносит мой проект с E: на C:. Я думаю, что это случилось, потому что nodejs и npm были установлены в моем C: и проект был в моем E:
Ответ 15
Я столкнулся с этой проблемой после того, как я клонировал репозиторий git в каталог, переименовал каталог и попытался запустить npm install
. Я не уверен, в чем проблема, но что-то было испорчено. Удаление всего, повторное клонирование (на этот раз с правильным именем каталога), а затем запуск npm install
разрешил мою проблему.
Ответ 16
Проверьте учетную запись пользователя, над которой вы работаете. Если какой-либо системный пользователь не имеет разрешений для установочных пакетов, в нпм также отображается это сообщение.
Ответ 17
Я следил за документом и думал, что эта ошибка означает проблему с зависимостями в NPM. однако после третьего взгляда. Я понял, что это опечатка. Я не добавлял запятую после первой зависимости в package.json, которую учебник попросил изменить.