Порт Node.js 3000 уже используемый, но это на самом деле не?

Я работал с node.js проектом в течение нескольких недель, и он работал отлично. Обычно я использую 'npm, начинают' запускать мое приложение и просматривать его в браузере в на localhost, порт 3000.

Сегодня, я начал получать следующую ошибку, в то время как использование npm запускается:

Server started on port 3000                                                                                                                                                                                         
Port 3000 is already in use 

Я проверил монитор ресурсов, и у меня нет никакой другой работы процесса порта 3000. Почему я получил бы это сообщение об ошибке?

В моем app.js у меня есть следующий код для установки порта... это неправильное? Это хорошо работало прежде, таким образом, я не уверен, что я делаю неправильно.

// Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function() {
    console.log('Server started on port '+app.get('port'));
});

Спасибо за справку!

Править: Я попытался выполнить netstat и TCPView для проверки, какой процесс использует порт, но нет ничего с помощью того порта. Я также пытался перезапустить свой ноутбук, но я все еще получаю ту же ошибку.

62
задан 5 September 2016 в 01:52

16 ответов

Можно искать о том, как уничтожить тот процесс.

Для [1 110] Linux/Mac поиск ОС (sudo) run это в терминале:

$ lsof -i tcp:3000
$ kill -9 PID

В Windows:

netstat -ano | findstr :3000
tskill typeyourPIDhere 

изменение tskill для taskkill в ударе мерзавца

156
ответ дан 31 October 2019 в 13:08

Для Mac пользователи, вызовите близко процесс с помощью монитор действия приложение. Выберите npm от процесса и нажмите X, кнопка к вышла или вызывает, выходит из процесса.

я столкнулся с этой проблемой при обновлении и перезапуске редактора кода, и зафиксируйте его с помощью монитора действия

процесс npm в приложении

для монитора действия
-2
ответ дан 31 October 2019 в 13:08

Работы над Mac, не примерили окна: передайте номер порта, что Вы хотите остановиться/уничтожить, например, порт 8000:

pkill -8000 node
-3
ответ дан 31 October 2019 в 13:08

Попытайтесь открыть localhost в своем браузере. Просто введите: localhost:3000 в строке поиска.

, Если открытие приложения, это означает, Ваше предыдущее npm run все еще активно. Теперь, можно просто внести изменения в код и видеть эффекты при разработке того же приложения, или если Вы хотите запустить другое приложение, просто настроить код (в index.js ранее запущенного приложения) немного, и (вероятно, обновляют вкладку браузера) заставить его отказать ;)..... Теперь пойдите выполненные npm run start снова от Вашего нового каталога приложения.Надеюсь, это поможет! :)

или

можно открыть Task Manager (WINDOWS_KEY+X> Task Manager), и Вы будете видеть "Node.js:Server-сторону JavaScript" строка. Выберите это и задачу конца.... Это должно работать теперь!!



В противном случае изменяются .env файл Вашего приложения, чтобы включать port:3002 и запустить новое приложение. Это позволит Вам запускать два отдельных приложения на различных портах.Удачи!!

0
ответ дан 31 October 2019 в 13:08

если Вы используете webstorm, просто удостоверяются, что Ваш порт по умолчанию не 3000 из файла-> настройки-> Сборка, Выполнение, Развертывание-> Отладчик, И там измените

Встроенный порт сервера

и установите его на "63 342" или см. этот ответ Изменение Порт WebStorm LiveEdit (63342)

0
ответ дан 31 October 2019 в 13:08

Для пользователей Windows можно использовать инструмент CurrPorts для уничтожения портов при использовании легко

enter image description here

0
ответ дан 31 October 2019 в 13:08

Это может быть процесс администрирования, работающий в фоновом режиме, и netstat не показывает это.
Использование tasklist | grep node для нахождения PID этого процесса администрирования и затем kill PID

0
ответ дан 31 October 2019 в 13:08

Прибыл из Google сюда с решением для Высокой Горной цепи.

Что-то изменилось в сетевой установке macos, и некоторые приложения (включая ping) не могут разрешить localhost.

Редактирование/etc/hosts походит на фиксацию:

cmd: sudo nano /etc/hosts/ содержание 127.0.0.1 localhost

Или просто (если Вы уверены, Ваш/etc/hosts пуст) sudo echo '127.0.0.1 localhost' > /etc/hosts

2
ответ дан 31 October 2019 в 13:08

Я провел 2 ч на обнаружение, почему EADDRINUSE не позволял мне sart приложение (другие специальные узлом серверы были в порядке)... это начало работать после добавления lazyConnect: true, к конфигурации источника данных.

не спрашивают меня, почему это помогло. Я не знаю. Я помещаю эту информацию здесь только для людей, имеющих ту же проблему.

2
ответ дан 31 October 2019 в 13:08

Откройте Task Manager (нажмите Ctrl+Alt+Del Select 'Поиск' Вкладки Процессов 'Node.js: серверная сторона JavaScript' Выбирает его и нажимает на кнопку

'End task'
3
ответ дан 31 October 2019 в 13:08

Это иногда происходит со мной, используемый EADDR. Обычно существует окно терминала, скрывающееся в фоновом режиме, который все еще запускает приложение. Можно остановить процесс с ctrl+C в окне терминала.

Или, возможно, Вы слушаете порт многократно из-за копии/пасты =)

3
ответ дан 31 October 2019 в 13:08

Я видел то же самое и попробовал все предложения выше без успеха. Вот шаги, которые разрешают его для меня: - выключают Wi-Fi - npm, запускаются (это должно работать) - включают Wi-Fi

, я не абсолютно уверен, что основная проблема всего лишь, который разрешил его для меня.

5
ответ дан 31 October 2019 в 13:08

У меня была та же проблема. (Ниже шагов хорошо работают в Windows 10):

  1. Открытый Диспетчер задач (нажатие Ctrl + Высокий звук + Удаляют )
  2. Выбор 'Вкладка Processes'
  3. Поиск 'Node.js: серверная сторона JavaScript'
  4. Выбор, это и нажимает на кнопку

'End task' Теперь, можно работать npm start.

Hope это помогает Вам.

11
ответ дан 31 October 2019 в 13:08

Для окон Диспетчер задач определенно показал бы выполнение процесса узла. Попытайтесь уничтожить процесс, он решит проблему.

16
ответ дан 31 October 2019 в 13:08

Иногда это происходит, как @sova предположил , Это иногда происходит со мной, используемый EADDR. Обычно существует окно терминала, скрывающееся в фоновом режиме, который все еще запускает приложение. И это также правильно со мной.

Это происходит при открытии терминала в течение долгого времени да Вы имеете право, Вы имеете, останавливают процесс. Но иногда это не останавливалось в фоновом режиме. , Таким образом, лучшее решение состоит в том, что Вы закрываете терминал и запускаете его снова. Это будет решать Вашу проблему. becuase в моем случае это работает.

кроме того,

sudo lsof -i:<PORT_NO>

закрывают экземпляр на настоящее время, но не могущий остановить процесс в фоне. Таким образом в течение одного времени,

sudo kill <PID>

работы, но снова когда мы обновляем наш код и сохраняем, эта проблема происходит снова как с [1 114] Nodemon.

Так выходят, терминал решит проблему. ИЛИ

  killall -9 node
21
ответ дан 31 October 2019 в 13:08

Я получил эту проблему с помощью Bash Мерзавца в Windows. Я работаю npm start, или node app.js. После завершения его с Ctrl+C вскоре и попыткой запустить сервер снова с помощью npm start или node app.js затем я получаю это сообщение об ошибке.

, Когда я делаю это с постоянным клиентом Windows Command Prompt , однако, он хорошо работает.

Или можно сделать это в другом отношении. Откройте Диспетчер задач и Найдите" Node.js:Server-сторона JavaScript " строка. Выбор это и задача конца. Это должно работать теперь.

Спасибо.

1
ответ дан 31 October 2019 в 13:08