npm WindowsLinux

npm ERR! missing script: start

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Команда npm start ищет скрипт start в package.json. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Какие скрипты есть
  5. Добавление скрипта
  6. Проверка проекта
  7. Как проверить результат

#Что означает ошибка

Сообщение
npm ERR! Missing script: "start"

npm ERR! Missing script: "start" означает, что в package.json нет скрипта start в разделе scripts. Команда npm start по умолчанию ищет этот скрипт, а если его нет и нет файла server.js, завершается ошибкой.

Нужно добавить скрипт или запустить приложение другой командой.

Посмотрите, какие скрипты определены.

Команда npm start ищет скрипт start в package.json. Если его нет, добавьте его или запускайте нужный скрипт по имени (npm run dev).

#Причины и решения

Возможная причинаКак узнатьЧто делать
Нет скрипта startНе добавлен.Добавьте в scripts.
Другое имя скриптаdev, serve.Используйте npm run имя.
Не та папкаДругой проект.Перейдите.
Повреждён package.jsonСинтаксис.Исправьте.

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

  1. Выведите список скриптовОткройте терминал в корне проекта, где находится package.json; в VS Code это «Терминал» → «Новый терминал». Выполните npm run без аргументов: команда выведет сценарии из раздела scripts. Найдите start, dev, serve или другой документированный вариант. Если start отсутствует, ошибка Missing script: start закономерна; она не означает, что Node или npm не установлены.
  2. Попробуйте dev или serveОткройте README.md проекта и раздел scripts в package.json. Если там уже есть dev или serve и документация предписывает этот режим, запустите npm run dev либо npm run serve вместо npm start, а не оба подряд. Для разработки и рабочего запуска могут использоваться разные команды и конфигурации: например, в приложениях Next.js режим рабочего запуска обычно требует предварительную сборку. Если проект — библиотека, у него может вообще не быть сценария запуска.
  3. Добавьте скрипт startДобавляйте start только если поддерживаете исходный код и точно знаете входной файл. В редакторе откройте package.json, найдите существующий объект "scripts" и добавьте в него ровно одну запись с реальной командой, например "start": "node server.js", только если server.js существует и предназначен для запуска. Проверьте синтаксис JSON (кавычки, запятые), сохраните файл и выполните npm run, чтобы увидеть новую запись. Не заменяйте весь объект scripts учебным примером: так потеряются другие сценарии проекта.
  4. Установите зависимостиЕсли скрипт существует, но запуск жалуется на отсутствующий исполняемый файл/пакет, выполните npm ls --depth=0 из корня, проверьте package-lock.json и инструкции установки. При сохранённом lock-файле в согласованной рабочей копии выполните npm ci, учитывая, что он пересоздаёт node_modules; при отсутствии lock-файла и в обычном проекте используйте предусмотренный проектом способ установки. Отсутствие зависимостей само по себе не создаёт сценарий start, поэтому эта проверка нужна только после подтверждения сценария.
  5. Прочитайте README проектаВыполните один выбранный сценарий и прочитайте фактический вывод: для сервера обычно появляется адрес/порт или подтверждение готовности, для утилиты процесс может завершиться сразу. Откройте указанный адрес в браузере, если это веб-приложение; не предполагайте, что оно всегда использует порт 3000. Если вместо ошибки отсутствующего сценария появилась ошибка в коде или зависимостях, проверьте её отдельно и приложите package.json без секретов и первый стек ошибки.
  6. Список доступных скриптов
    Linux · Терминал (Bash)Команда
    Список доступных скриптов.
    npm run

#Какие скрипты есть

Выполните npm run без аргументов — покажет все доступные скрипты. Часто запуск называется dev (npm run dev в Vite, Next.js, Nuxt) или serve (Vue CLI). Откройте package.json и проверьте раздел scripts. Убедитесь, что находитесь в нужной папке: в монорепозитории скрипт может быть в подпапке.

#Добавление скрипта

Если вы владелец проекта, добавьте лишь корректный для существующего входного файла сценарий в уже имеющийся объект scripts; не заменяйте раздел целиком. Для TypeScript и Next.js используйте документированные команды сборки и запуска конкретного проекта; способ исполнения зависит от инструментов и версии. Проверьте корректность JSON (запятые, кавычки). Затем npm start.

#Проверка проекта

Если проект клонирован, установите зависимости npm install, прочитайте README.md — там указан способ запуска. Для библиотек скрипта start может не быть; запускайте тесты npm test или сборку npm run build. Проверьте, что main в package.json указывает на существующий файл. Для Docker-образов убедитесь, что CMD вызывает нужную команду.

JSONКоманда
Это только фрагмент-пример для НОВОГО package.json, а не файл для перезаписи. Реальный server.js должен существовать; сохраняйте другие ключи и scripts.
{
"scripts": {
"start": "node server.js"
}
}

#Как проверить результат

Выполните npm start и убедитесь, что приложение запустилось, а в консоли появилось сообщение о порте. Откройте указанный адрес (чаще http://localhost:3000) в браузере. Если процесс сразу завершается, запустите команду из скрипта напрямую (node index.js) — вы увидите реальную ошибку приложения, а не npm. В CI и Docker проверьте, что в образ скопирован package.json вместе с разделом scripts, и что рабочая директория (WORKDIR) указывает на папку проекта.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.