Bagaimana Mengatasi “Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan”?

Bagaimana Mengatasi Kesalahan Dengarkan Eaddrinuse Alamat Sudah Digunakan



Node.js adalah lingkungan runtime yang memungkinkan kode yang ditulis dalam bahasa JavaScript untuk dieksekusi melalui halaman web atau server lokal. Ini adalah lingkungan berulir tunggal dan memiliki sifat asinkron. Ia menawarkan berbagai modul internal dan eksternal yang dapat digunakan untuk melakukan berbagai operasi seperti mengirim permintaan HTTP melalui server. Saat berinteraksi dengan berbagai server lokal, ada kemungkinan mendapatkan banyak kesalahan yang diselesaikan dengan mengikuti panduan khusus.

Panduan ini menjelaskan kemungkinan perbaikan untuk “dengarkan EADDRINUSE: alamat sudah digunakan” dengan membahas bagian di bawah ini:

Bagaimana Mengatasi “Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan”?

Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan ” muncul ketika lebih dari satu aplikasi atau tugas mencoba mengakses port yang sama. Kesalahan ini dapat muncul selama fase pengujian atau pengembangan. Misalnya, kesalahan yang disebutkan di atas akan dibuat untuk pemahaman yang lebih baik:







konstanta mengungkapkanObj = memerlukan ( 'cepat' )
konstanta demoAplikasi = mengungkapkanObj ( )
demoAplikasi. mendapatkan ( '/' , ( permintaan, soal ) => {
res. json ( {
nama : 'Artikel Linuxhint tentang CORS' ,
bahasa : 'Node.js' ,
aplikasi : 'korsApp' ,
asal : 'Lintas Asal' ,
perangkat tengah : 'CORS'
} )
} )
demoAplikasi. mendengarkan ( 8080 , ( ) => {
menghibur. catatan ( `Server dimulai 'http://localhost:8080/' ` )
} )
demoAplikasi. mendengarkan ( 8080 , ( ) => {
menghibur. catatan ( `Server dimulai 'http://localhost:8080/' ` )
} )

Cuplikan kode di atas berfungsi seperti ini:



  • Pertama, impor “ cepat ” modul dan simpan objeknya dalam variabel baru “ mengungkapkanObj ”. Gunakan variabel ini sebagai konstruktor untuk membuat aplikasi ekspres baru bernama “ demoAplikasi ”.
  • Selanjutnya, buat permintaan GET menggunakan “ mendapatkan() ” metode dan atur halaman beranda sebagai pengendali root dengan meneruskan “ / ” sebagai parameter pertama. Parameter kedua adalah fungsi panggilan balik anonim yang mengirimkan “ JSON ” data sebagai respons dengan pemanfaatan “ json() ' metode.
  • Setelah itu, buat aplikasi tersebut dijalankan pada nomor port yang sama yaitu “ 8080 ' dua kali. Eksekusi port yang sama dua kali menghasilkan kesalahan yang disebutkan.

Output yang dihasilkan setelah kompilasi kode di atas menunjukkan terjadinya kesalahan “Error: mendengarkan EADDRINUSE: alamat sudah digunakan”:







Ada dua solusi utama untuk mengatasi kesalahan yang terjadi pada keluaran di atas yaitu mengubah nomor port atau menghentikan salah satu proses yang sedang berjalan. Namun ada beberapa perbaikan lain yang secara tidak langsung menyelesaikan “ Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan ” kesalahan. Solusi-solusi ini beserta demonstrasi praktisnya dinyatakan di bawah ini:

Solusi 1: Jalankan Proses pada Port Berbeda

Solusi yang paling direkomendasikan untuk kesalahan yang disebutkan adalah dengan mengidentifikasi nomor port tempat kedua layanan berjalan seperti dalam kasus kami adalah “ 8080 ”. Kemudian, pilih satu layanan secara acak dan ubah nomor portnya agar layanan tersebut mendengarkan di localhost tetapi dengan nomor port yang berbeda. Kode kami setelah modifikasi yang dibahas ditunjukkan di bawah ini:



konstanta mengungkapkanObj = memerlukan ( 'cepat' )
konstanta demoAplikasi = mengungkapkanObj ( )
demoAplikasi. mendapatkan ( '/' , ( permintaan, soal ) => {
res. json ( {
nama : 'Artikel Linuxhint tentang CORS' ,
bahasa : 'Node.js' ,
aplikasi : 'korsApp' ,
asal : 'Lintas Asal' ,
perangkat tengah : 'CORS'
} )
} )
demoAplikasi. mendengarkan ( 8080 , ( ) => {
menghibur. catatan ( `Server dimulai 'http://localhost:8080/' ` )
} )
demoAplikasi. mendengarkan ( 3000 , ( ) => {
menghibur. catatan ( `Server dimulai 'http://localhost:8080/' ` )
} )

Output yang dihasilkan setelah mengeksekusi kode di atas menunjukkan bahwa sekarang “ Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan ”masalah terselesaikan:

Solusi 2: Menghentikan Proses yang Berjalan di Port yang Sama

Cara lain untuk mengatasi kesalahan “dengarkan EADDRINUSE: alamat sudah digunakan” adalah dengan menghentikan proses yang berjalan pada port tertentu yang sudah digunakan. Hal ini akan membuat port menjadi idle yang dapat diakses oleh pengembang untuk melakukan tugas tertentu. Proses penghentian ini dilakukan dengan bantuan modul eksternal bernama “ port pembunuh ”.

Misalnya, semua proses yang berjalan pada nomor port yang ditentukan “ 8080 ” akan dibunuh menggunakan “ port pembunuh ” modul. Ada dua cara untuk menggunakan modul “kill-port” dan kedua pendekatan ini dinyatakan di bawah:

Metode 1: Gunakan Modul “kill-port” Setelah Instalasi

port pembunuh ” Modul adalah modul eksternal pihak ketiga dan untuk menggunakan modul ini di dalam proyek node.js. Modul ini perlu diunduh terlebih dahulu dengan menjalankan perintah di bawah ini:

npm instal bunuh - pelabuhan - G

Gambar di bawah ini menunjukkan selesainya instalasi untuk “ port pembunuh ' variabel:

Setelah instalasi, pengguna dapat mematikan layanan untuk nomor port yang diperlukan. Dalam kasus kami, layanan nomor port “ 8080 ” akan dibunuh melalui perintah di bawah ini:

membunuh - pelabuhan -- pelabuhan 8080

Output di bawah ini mengonfirmasi bahwa semua layanan untuk port “ 8080 ” telah terbunuh:

Metode 2: Gunakan Modul “kill-port” Tanpa Instalasi

port pembunuh Modul ” dapat digunakan tanpa melalui proses instalasi dengan memanfaatkan “ npx ” pelari paket. Misalnya, “ port pembunuh Modul ” digunakan untuk mematikan dua port tertentu menggunakan perintah runner paket “npx” yang dinyatakan di bawah ini:

npx membunuh - pelabuhan 8080 9000

Output di bawah ini menunjukkan bahwa layanan untuk port tertentu “ 9000 ' Dan ' 8080 ” telah terbunuh:

Tip Bonus: Penghapusan Instalasi Modul “kill-port”.

Untuk menghapus instalasi “ port pembunuh ” modul secara global dari sistem, jalankan perintah di bawah ini:

npm hapus instalan bunuh - pelabuhan - G

Solusi 3: Hentikan Layanan Node.js di Windows

Jika “Error: mendengarkan EADDRINUSE: alamat sudah digunakan” masih berlanjut, maka matikan semua yang sedang berjalan “ node.js ” layanan baik menggunakan pendekatan GUI atau CLI.

Menggunakan Pendekatan CLI

Tekan ' Jendela tombol ” untuk membuka bilah pencarian dan masukkan “ CMD ” di dalam kotak pencarian, dari hasil yang dihasilkan. Kemudian, pilih “ Prompt Perintah ” aplikasi, dan tekan tombol “ Jalankan sebagai administrator ' tombol:

Dengan memilih opsi ini, jendela baru Control Prompt akan muncul, untuk mematikan layanan “node.js” yang sedang berjalan di latar belakang, jalankan perintah di bawah ini:

pembunuhan tugas / F / simpul IM. exe

Output yang dihasilkan menunjukkan bahwa layanan “node.js” telah dihentikan:

Menggunakan Pendekatan GUI

Untuk mematikan layanan node.js yang berjalan dari sistem, buka “ Pengelola tugas ” dengan menekan tombol “ Ctrl + Shift + Esc ” kunci segera. Setelah membuka 'Task Manager', arahkan ke ' Detail jenis ”, pilih “ simpul.exe ” layanan, dan tekan tombol “ Tugas akhir Tombol ” yang berada di arah kanan bawah, seperti gambar di bawah ini:

Itu saja tentang menyelesaikan “Error: mendengarkan EADDRINUSE: alamat sudah digunakan” di Node.js.

Kesimpulan

'Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan' muncul ketika lebih dari satu layanan mencoba menggunakan satu port secara bersamaan. Untuk mengatasinya, pengguna harus mencoba menggunakan nomor port yang berbeda atau mematikan layanan yang sudah berjalan pada nomor port yang ditentukan menggunakan “ port pembunuh ” modul. Jika kesalahan masih belum teratasi, matikan semua yang sedang berjalan” node.js ” layanan dari pengelola tugas dan mulai ulang aplikasi Anda. Panduan ini telah mengilustrasikan kemungkinan solusi untuk menyelesaikan masalah “Kesalahan: dengarkan EADDRINUSE: alamat sudah digunakan”.