Веб-разработка 4 мин чтения

npm ERR! enoent: нет package.json в текущей папке

Что делать, если npm показывает ошибку ENOENT и не находит package.json при запуске npm install или npm run.

npmNode.jspackage.jsonENOENT

Симптомы

  • Команда npm install завершается сообщением enoent ENOENT: no such file or directory, open 'package.json'.
  • npm run dev или npm start сообщает missing script, если команда запускается не в той папке.
  • В терминале открыт родительский каталог, а не каталог проекта.

Возможные причины

  • Команда запущена вне корня проекта.
  • Файл package.json был удален, не был создан или не попал в репозиторий.
  • Проект еще не инициализирован как Node.js-пакет.

Пошаговое решение

1

Проверьте текущую папку

Убедитесь, что терминал открыт в каталоге, где действительно находится package.json. Если файл есть в подпапке, перейдите в нее и повторите команду.

Команда
pwd
ls
2

Найдите package.json в проекте

Если вы не уверены, где лежит проект, найдите package.json и перейдите в найденный каталог. В Windows PowerShell используйте Get-ChildItem.

Команда
Get-ChildItem -Recurse -Filter package.json
3

Создайте package.json, если это новый проект

Если проект новый и package.json еще не создавался, инициализируйте его. После этого установите зависимости.

Команда
npm init -y
npm install
4

Восстановите файл из 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 репозиторий. Конфликтующие репозитории — частая причина ошибок.

Источники

  1. docs.npmjs.com — проверено 27.05.2026
  2. docs.npmjs.com — проверено 27.05.2026
  3. nodejs.org — проверено 27.05.2026