В 90% случаев проблемы решает полная переустановка зависимостей. Удалите папку node_modules и файл package-lock.json, очистите кэш командой npm cache clean --force, а затем заново выполните npm install.
Вы скачали чужой проект с GitHub, ввели npm install, а консоль взорвалась красными строками ERR!. Или вчера ваш локальный сервер работал, а сегодня npm run dev или npm start выкидывает ошибку и завершает процесс. Экосистема Node.js славится тем, что зависимости часто конфликтуют друг с другом, особенно при смене операционной системы или версии движка.
Способ 1: Ядерный сброс (Решает 90% проблем с npm install)
Самая частая причина ошибок — поврежденное дерево зависимостей. Пакеты скачались криво или файл блокировки конфликтует с вашей ОС.
- Остановите все запущенные терминалы.
- В корневой папке проекта удалите папку
node_modules. - Обязательно удалите файл
package-lock.json(но не удаляйтеpackage.json!). - Откройте терминал и очистите кэш самого пакетного менеджера:
npm cache clean --force - Установите все пакеты с чистого листа:
npm install
Способ 2: Ошибка "EADDRINUSE" при npm start
Если при запуске сервера (часто в React или Express) вы видите ошибку Error: listen EADDRINUSE: address already in use :::3000, это значит, что порт уже занят.
- Это происходит, когда вы закрыли окно терминала, но сам скрытый процесс Node.js остался висеть в оперативной памяти компьютера.
- В Windows: Откройте командную строку и введите
taskkill /F /IM node.exe. Это жестко убьет все скрытые процессы Node. - В Mac/Linux: Введите
killall node. - Снова введите
npm start— сервер успешно запустится.
Способ 3: Конфликт версий Node.js (Несовместимость)
Некоторые старые проекты используют библиотеки (например, node-sass), которые намертво привязаны к старым версиям Node.js (например, v12 или v14). Если у вас установлена новая Node v20, npm install будет выдавать ошибки компиляции C++.
- Решение: Установите утилиту NVM (Node Version Manager). Она позволяет переключать версии Node.js на вашем компьютере одной командой (например,
nvm use 14). Посмотрите в документации проекта, какая версия Node требовалась изначально, и используйте её.
npm audit fix --force. Никогда не делайте этого на рабочих проектах! Флаг --force принудительно обновит мажорные версии библиотек (например, с v4 на v5), что гарантированно сломает ваш код из-за несовместимости функций.
Если npm install зависает на этапе "idealTree:lib: sill idealTree buildDeps", проблема может быть в вашем провайдере или блокировках. Попробуйте сменить источник скачивания пакетов на зеркало или просто перезагрузить роутер/включить VPN.
Читайте также: Как сохранить исправленный код на GitHub
Частые вопросы
npm start — это стандартная команда, которая часто используется для запуска готового приложения в production-среде. npm run dev — это кастомный скрипт, прописанный разработчиком в package.json, который запускает проект в режиме разработки (с отслеживанием изменений и перезагрузкой страницы).