npm ERR! enoent: нет package.json в текущей папке
Что делать, если npm показывает ошибку ENOENT и не находит package.json при запуске npm install или npm run.
Симптомы
- Команда npm install завершается сообщением enoent ENOENT: no such file or directory, open 'package.json'.
- npm run dev или npm start сообщает missing script, если команда запускается не в той папке.
- В терминале открыт родительский каталог, а не каталог проекта.
Возможные причины
- Команда запущена вне корня проекта.
- Файл package.json был удален, не был создан или не попал в репозиторий.
- Проект еще не инициализирован как Node.js-пакет.
Пошаговое решение
Проверьте текущую папку
Убедитесь, что терминал открыт в каталоге, где действительно находится package.json. Если файл есть в подпапке, перейдите в нее и повторите команду.
pwd
ls Найдите package.json в проекте
Если вы не уверены, где лежит проект, найдите package.json и перейдите в найденный каталог. В Windows PowerShell используйте Get-ChildItem.
Get-ChildItem -Recurse -Filter package.json Создайте package.json, если это новый проект
Если проект новый и package.json еще не создавался, инициализируйте его. После этого установите зависимости.
npm init -y
npm install Восстановите файл из git
Если package.json должен быть в репозитории, проверьте историю или попросите актуальную версию у команды. Не создавайте пустой package.json в существующем проекте без понимания зависимостей.
git status
git log -- package.json Ошибка ENOENT означает, что npm пытается открыть файл, которого нет по указанному пути. В большинстве случаев проблема не в npm, а в текущем рабочем каталоге терминала.
Если вы скачали проект архивом, проверьте, что архив распакован полностью и вы не запускаете команды внутри лишней вложенной папки.
Проверка состояния пакетов
Выполните sudo apt —fix-broken install (Debian/Ubuntu) или sudo dnf distro-sync (Fedora) для исправления сломанных зависимостей. Проверьте повреждённые пакеты: sudo dpkg —audit (Debian) или sudo rpm -Va (RHEL). Это покажет, какие файлы изменены или отсутствуют.
Очистка кеша
Очистите кеш пакетов: sudo apt clean (Debian) или sudo dnf clean all (Fedora). Удалите неиспользуемые зависимости: sudo apt autoremove. Это освободит место и устранит конфликты версий. Если ошибка в репозитории, проверьте /etc/apt/sources.list на наличие неверных URL.
Переустановка пакета
Для переустановки повреждённого пакета: sudo apt install —reinstall имя-пакета. Если пакет зависит от других повреждённых, переустановите их все. Проверьте версию: apt show имя-пакета. Убедитесь, что версия совместима с вашейОС.
Исправление ключей GPG
Если ошибка связана с подписью пакета (NO_PUBKEY), обновите ключи: sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys КЛЮЧ. Или: sudo gpg —keyserver keyserver.ubuntu.com —recv КЛЮЧ. Для Fedora: sudo rpm —import /etc/pki/rpm-gpg/RPM-GPG-KEY-*.
Проверка репозиториев
Убедитесь, что репозитории доступны и не дублируются: apt-cache policy (Debian) или dnf repolist (Fedora). Отключите ненужные репозитории: sudo add-apt-repository —remove ppa:имя. Для Fedora: sudo dnf config-manager —set-disabled репозиторий. Конфликтующие репозитории — частая причина ошибок.
Источники
- docs.npmjs.com — проверено 27.05.2026
- docs.npmjs.com — проверено 27.05.2026
- nodejs.org — проверено 27.05.2026