Я работал с 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 для проверки, какой процесс использует порт, но нет ничего с помощью того порта. Я также пытался перезапустить свой ноутбук, но я все еще получаю ту же ошибку.
Можно искать о том, как уничтожить тот процесс.
Для [1 110] Linux/Mac поиск ОС (sudo) run
это в терминале:
$ lsof -i tcp:3000
$ kill -9 PID
В Windows:
netstat -ano | findstr :3000
tskill typeyourPIDhere
изменение tskill
для taskkill
в ударе мерзавца
Для Mac пользователи, вызовите близко процесс с помощью монитор действия приложение. Выберите npm от процесса и нажмите X, кнопка к вышла или вызывает, выходит из процесса.
я столкнулся с этой проблемой при обновлении и перезапуске редактора кода, и зафиксируйте его с помощью монитора действия
для монитора действияРаботы над Mac, не примерили окна: передайте номер порта, что Вы хотите остановиться/уничтожить, например, порт 8000:
pkill -8000 node
Попытайтесь открыть localhost в своем браузере. Просто введите: localhost:3000
в строке поиска.
, Если открытие приложения, это означает, Ваше предыдущее npm run
все еще активно. Теперь, можно просто внести изменения в код и видеть эффекты при разработке того же приложения, или если Вы хотите запустить другое приложение, просто настроить код (в index.js ранее запущенного приложения) немного, и (вероятно, обновляют вкладку браузера) заставить его отказать ;)..... Теперь пойдите выполненные npm run start
снова от Вашего нового каталога приложения.Надеюсь, это поможет! :)
или
можно открыть Task Manager (WINDOWS_KEY+X> Task Manager), и Вы будете видеть "Node.js:Server-сторону JavaScript" строка. Выберите это и задачу конца.... Это должно работать теперь!!
В противном случае изменяются .env
файл Вашего приложения, чтобы включать port:3002
и запустить новое приложение. Это позволит Вам запускать два отдельных приложения на различных портах.Удачи!!
если Вы используете webstorm, просто удостоверяются, что Ваш порт по умолчанию не 3000 из файла-> настройки-> Сборка, Выполнение, Развертывание-> Отладчик, И там измените
Встроенный порт сервера
и установите его на "63 342" или см. этот ответ Изменение Порт WebStorm LiveEdit (63342)
Для пользователей Windows можно использовать инструмент CurrPorts для уничтожения портов при использовании легко
Это может быть процесс администрирования, работающий в фоновом режиме, и netstat
не показывает это.
Использование tasklist | grep node
для нахождения PID этого процесса администрирования и затем kill PID
Прибыл из 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 ч на обнаружение, почему EADDRINUSE
не позволял мне sart приложение (другие специальные узлом серверы были в порядке)... это начало работать после добавления
lazyConnect: true,
к конфигурации источника данных.
не спрашивают меня, почему это помогло. Я не знаю. Я помещаю эту информацию здесь только для людей, имеющих ту же проблему.
Откройте Task Manager (нажмите Ctrl+Alt+Del Select 'Поиск' Вкладки Процессов 'Node.js: серверная сторона JavaScript' Выбирает его и нажимает на кнопку
'End task'Это иногда происходит со мной, используемый EADDR. Обычно существует окно терминала, скрывающееся в фоновом режиме, который все еще запускает приложение. Можно остановить процесс с ctrl+C в окне терминала.
Или, возможно, Вы слушаете порт многократно из-за копии/пасты =)
Я видел то же самое и попробовал все предложения выше без успеха. Вот шаги, которые разрешают его для меня: - выключают Wi-Fi - npm, запускаются (это должно работать) - включают Wi-Fi
, я не абсолютно уверен, что основная проблема всего лишь, который разрешил его для меня.
У меня была та же проблема. (Ниже шагов хорошо работают в Windows 10):
'End task' Теперь, можно работать npm start
.
Hope это помогает Вам.
Для окон Диспетчер задач определенно показал бы выполнение процесса узла. Попытайтесь уничтожить процесс, он решит проблему.
Иногда это происходит, как @sova предположил , Это иногда происходит со мной, используемый EADDR. Обычно существует окно терминала, скрывающееся в фоновом режиме, который все еще запускает приложение. И это также правильно со мной.
Это происходит при открытии терминала в течение долгого времени да Вы имеете право, Вы имеете, останавливают процесс. Но иногда это не останавливалось в фоновом режиме. , Таким образом, лучшее решение состоит в том, что Вы закрываете терминал и запускаете его снова. Это будет решать Вашу проблему. becuase в моем случае это работает.
кроме того,
sudo lsof -i:<PORT_NO>
закрывают экземпляр на настоящее время, но не могущий остановить процесс в фоне. Таким образом в течение одного времени,
sudo kill <PID>
работы, но снова когда мы обновляем наш код и сохраняем, эта проблема происходит снова как с [1 114] Nodemon.
Так выходят, терминал решит проблему. ИЛИ
killall -9 node
Я получил эту проблему с помощью Bash Мерзавца в Windows. Я работаю npm start
, или node app.js
. После завершения его с Ctrl+C вскоре и попыткой запустить сервер снова с помощью npm start
или node app.js
затем я получаю это сообщение об ошибке.
, Когда я делаю это с постоянным клиентом Windows Command Prompt , однако, он хорошо работает.
Или можно сделать это в другом отношении. Откройте Диспетчер задач и Найдите" Node.js:Server-сторона JavaScript " строка. Выбор это и задача конца. Это должно работать теперь.
Спасибо.