serii81
@serii81
Я люблю phр...

Error: listen EADDRINUSE: address already in use :::3000?

Появилась эта ошибка.
Раньше как защиту я нашел такой хак, вставить в package.json script
"predev": "fuser -k 3000/tcp && echo 'Terminated' || echo 'Nothing was running on the 3000'",


Теперь и он не работает.

Нашел второй вариант, добавить в server/index.js, стартовый файл для сервера такой код
async function start() {
  process.once("SIGUSR2", function () {
    process.kill(process.pid, "SIGUSR2");
  });
  const nuxt = await loadNuxt(isDev ? "dev" : "start");
  app.use(nuxt.render);
  if (isDev) {
    build(nuxt);
  }
  app.listen(PORT);
}

// Запуск приложения.
start();


process.once, эту рекомендацию нашел на оф сайте npm nodemon.

И все равно, если меняю код в файлах сервера, то появляется ошибка.

HWZq3lX.png
  • Вопрос задан
  • 3235 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Решение пришло самобой.
Если еще раз внести какие-нибудь изменения в файлах на сервере через 10 несколько секунд после появления ошибка, то ошибка исчезнет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@julandre
Проблема решается остановкой pm2 перед изменением кода. Команда pm2 stop 0.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы