#Что означает ошибка
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 | Синтаксис. | Исправьте. |
#Пошаговое решение
- Выведите список скриптовОткройте терминал в корне проекта, где находится
package.json; в VS Code это «Терминал» → «Новый терминал». Выполнитеnpm runбез аргументов: команда выведет сценарии из разделаscripts. Найдитеstart,dev,serveили другой документированный вариант. Еслиstartотсутствует, ошибкаMissing script: startзакономерна; она не означает, что Node или npm не установлены. - Попробуйте dev или serveОткройте
README.mdпроекта и разделscriptsвpackage.json. Если там уже естьdevилиserveи документация предписывает этот режим, запуститеnpm run devлибоnpm run serveвместоnpm start, а не оба подряд. Для разработки и рабочего запуска могут использоваться разные команды и конфигурации: например, в приложениях Next.js режим рабочего запуска обычно требует предварительную сборку. Если проект — библиотека, у него может вообще не быть сценария запуска. - Добавьте скрипт startДобавляйте
startтолько если поддерживаете исходный код и точно знаете входной файл. В редакторе откройтеpackage.json, найдите существующий объект"scripts"и добавьте в него ровно одну запись с реальной командой, например"start": "node server.js", только еслиserver.jsсуществует и предназначен для запуска. Проверьте синтаксис JSON (кавычки, запятые), сохраните файл и выполнитеnpm run, чтобы увидеть новую запись. Не заменяйте весь объект scripts учебным примером: так потеряются другие сценарии проекта. - Установите зависимостиЕсли скрипт существует, но запуск жалуется на отсутствующий исполняемый файл/пакет, выполните
npm ls --depth=0из корня, проверьтеpackage-lock.jsonи инструкции установки. При сохранённом lock-файле в согласованной рабочей копии выполнитеnpm ci, учитывая, что он пересоздаётnode_modules; при отсутствии lock-файла и в обычном проекте используйте предусмотренный проектом способ установки. Отсутствие зависимостей само по себе не создаёт сценарийstart, поэтому эта проверка нужна только после подтверждения сценария. - Прочитайте README проектаВыполните один выбранный сценарий и прочитайте фактический вывод: для сервера обычно появляется адрес/порт или подтверждение готовности, для утилиты процесс может завершиться сразу. Откройте указанный адрес в браузере, если это веб-приложение; не предполагайте, что оно всегда использует порт 3000. Если вместо ошибки отсутствующего сценария появилась ошибка в коде или зависимостях, проверьте её отдельно и приложите
package.jsonбез секретов и первый стек ошибки. - Список доступных скриптов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 вызывает нужную команду.
{ "scripts": { "start": "node server.js" }}#Как проверить результат
Выполните npm start и убедитесь, что приложение запустилось, а в консоли появилось сообщение о порте. Откройте указанный адрес (чаще http://localhost:3000) в браузере. Если процесс сразу завершается, запустите команду из скрипта напрямую (node index.js) — вы увидите реальную ошибку приложения, а не npm. В CI и Docker проверьте, что в образ скопирован package.json вместе с разделом scripts, и что рабочая директория (WORKDIR) указывает на папку проекта.