Node.js EADDRINUSE Hatası ve Çözümü: Adım Adım Rehber

Node.js EADDRINUSE hatası ve çözüm yolları hakkında kapsamlı bir rehber.

BFS

Node.js ile çalışan geliştiriciler için, bazen çok sinir bozucu bir hata ile karşılaşabiliriz: EADDRINUSE. Eğer bu hatayı aldıysanız, büyük ihtimalle uygulamanız, kullandığı portu başka bir uygulama tarafından zaten kapılmış durumda. Bu, işler yolunda gitmediğinde ve uygulamanız çalışmadığında karşılaşılan yaygın bir durumdur. Ama endişelenmeyin! Bu yazımda, EADDRINUSE hatasının ne olduğunu, neden oluştuğunu ve bu hatayı nasıl çözebileceğinizi detaylı bir şekilde anlatacağım.

EADDRINUSE Hatası Nedir?

EADDRINUSE, "Address already in use" ifadesinin kısaltmasıdır. Türkçeye çevirdiğimizde, "Adres zaten kullanımda" anlamına gelir. Bu hata, Node.js uygulamanız bir port üzerinde çalışmaya çalışırken, o portun başka bir uygulama tarafından kullanıldığını belirten bir hata mesajıdır. Örneğin, geliştirdiğiniz bir Node.js uygulaması 3000 numaralı portu kullanmak istiyor ama bu port şu anda başka bir uygulama tarafından kullanılmakta. İşte bu durumda EADDRINUSE hatası alırsınız.

Hata Nasıl Çözülür?

Bu hata karşısında panik yapmanıza gerek yok. Aşağıda, bu hatayı adım adım nasıl çözebileceğinizi anlatacağım.

# 1. Hangi Uygulamanın Portu Kullandığını Bulun

Öncelikle, hangi uygulamanın portu kullandığını öğrenmemiz gerekiyor. Eğer Unix tabanlı bir işletim sistemi (Linux veya Mac) kullanıyorsanız, terminal üzerinden şu komutla portu hangi uygulamanın kullandığını öğrenebilirsiniz:

lsof -i :3000


Bu komut, 3000 numaralı portu kullanan tüm süreçleri listeleyecektir. Eğer Windows kullanıyorsanız, şu komutla portu kullanan süreci bulabilirsiniz:

netstat -ano | findstr :3000


# 2. Uygulamayı Sonlandırın

Portu hangi uygulamanın kullandığını öğrendikten sonra, o uygulamayı sonlandırarak portu serbest bırakabilirsiniz. Eğer bir Node.js uygulamasıysa, genellikle terminalde `Ctrl + C` ile sonlandırabilirsiniz. Ancak başka bir uygulama varsa, görev yöneticisi veya terminal üzerinden o uygulamanın işlem numarasını bularak sonlandırabilirsiniz.

Windows için görev yöneticisini açarak, işlem numarasına (PID) göre uygulamayı sonlandırabilirsiniz. Mac veya Linux için şu komutla süreci öldürebilirsiniz:

kill -9 [PID]


Burada `[PID]` kısmına, az önce bulduğunuz süreç ID'sini yazmalısınız.

# 3. Portu Değiştirme

Eğer portu kullanan uygulama sonlandırılamıyorsa ya da o portu kullanmaya devam etmek istiyorsanız, Node.js uygulamanızın kullandığı portu değiştirebilirsiniz. Bu, uygulamanızda çok basit bir değişiklik yaparak mümkün. İşte basit bir örnek:


const express = require('express');
const app = express();
const port = 4000;  // Burada portu 4000 olarak değiştiriyoruz

app.listen(port, () => {
  console.log(`Uygulama http://localhost:${port} adresinde çalışıyor`);
});


Port numarasını değiştirdikten sonra, uygulamanız artık eski port yerine yeni port üzerinde çalışacaktır.

# 4. Node.js'in Bekleyen Bağlantıları Temizlemesi

Bazen, Node.js bir bağlantıyı kapatmayı unutabilir ve bu yüzden port hala kullanımda görünür. Bu gibi durumlarda, aşağıdaki komut ile Node.js'in bekleyen bağlantıları temizlemesini sağlayabilirsiniz:

sudo fuser -k 3000/tcp


Bu komut, 3000 numaralı portu kullanan tüm bağlantıları sonlandırır. Ancak dikkatli olun, bu işlem başka bir uygulamayı da etkilemiş olabilir.

Sonuç

EADDRINUSE hatası, Node.js geliştiricileri için oldukça yaygın bir hata olmasına rağmen, çözümü oldukça basittir. Portu kullanan uygulamayı bulup sonlandırmak veya port numarasını değiştirmek, sorununuzu genellikle çözecektir. Uygulamanızda bu hatayla karşılaşmadığınız bir gün dilerim!

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...