Daftar isi
Console penuh tulisan merah itu menakutkan, tapi sebenarnya hampir semua error punya pola yang sama. Di panduan ini kamu belajar cara membacanya, lalu mencocokkan pesan yang kamu lihat dengan penyebab dan solusinya.
Cara membaca error di Console
Buka tab Console dan gulir ke baris merah paling atas dari rentetan error. Baris itu yang paling penting. Contohnya:
Error: listen EADDRINUSE: address already in use :::3000
at Server.setupListenHandle [as _listen2] (node:net:1817:16)
at /home/container/index.js:12:8- Baris pertama menyebut jenis error dan penjelasan singkatnya. Di contoh ini:
EADDRINUSE, artinya alamat sudah dipakai. - Baris yang diawali
atmenunjukkan di file mana error terjadi. Cari baris yang menyebut file milikmu, misalnya/home/container/index.js:12. Angka12adalah nomor barisnya. Abaikan baris yang menyebutnode_modules.
Salin baris pertama itu, lalu cocokkan dengan tabel di bawah.
Error soal port dan jaringan
| Pesan | Artinya | Solusi |
|---|---|---|
EADDRINUSE: address already in use | Port yang kamu minta sudah dipakai proses lain | Aplikasimu harus memakai port server, bukan angka buatan sendiri seperti 3000. Ambil dari process.env.SERVER_PORT. Kalau memang memakai port server dan masih error, Stop server, tunggu sampai berhenti, lalu Start lagi. Lihat Port dan Allocation |
EACCES: permission denied 0.0.0.0:80 | Port di bawah 1024 (seperti 80 dan 443) tidak boleh dipakai | Pakai port server. Domain tanpa nomor port diatur lewat Cloudflare Origin Rule |
ECONNREFUSED 127.0.0.1:3306 | Koneksi ditolak karena tidak ada yang mendengarkan di alamat itu | Untuk database, jangan pakai localhost atau 127.0.0.1. Pakai host dari tab Databases. Lihat Cara membuat dan memakai database |
ETIMEDOUT | Tujuan tidak menjawab sampai waktunya habis | Cek alamat dan port tujuan sudah benar, dan layanan tujuan sedang menyala. Coba lagi beberapa menit kemudian |
ENOTFOUND | Nama domain tidak ditemukan | Biasanya salah ketik di nama domain atau URL. Cek ejaannya |
EAI_AGAIN | Pencarian nama domain gagal sementara | Coba lagi. Kalau terus muncul, cek halaman Status |
Error soal file dan modul
| Pesan | Artinya | Solusi |
|---|---|---|
ENOENT: no such file or directory | File atau folder yang dicari tidak ada | Cek nama dan lokasinya di tab Files. Linux membedakan huruf besar dan kecil: Config.json dan config.json adalah dua file berbeda. Pakai garis miring /, bukan \ |
Cannot find module 'xxx' atau Cannot find package | Modul belum terpasang atau versi Node.js tidak cocok | Lihat Mengatasi error "Cannot find module" |
Unsupported engine atau EBADENGINE | Versi Node.js terlalu lama atau terlalu baru untuk project | Ganti Docker Image. Lihat Cara mengganti versi Node.js |
No package.json | File package.json tidak ada di folder utama | Pindahkan isi project ke folder utama di tab Files |
ENOSPC: no space left on device | Penyimpanan server penuh | Hapus file yang tidak dipakai, atau baca Membaca grafik CPU, RAM, dan disk |
Error di dalam kode
| Pesan | Artinya | Solusi |
|---|---|---|
Cannot use import statement outside a module | Kodemu memakai import, tapi project belum diatur untuk itu | Tambahkan "type": "module" di package.json, atau ganti import dengan require |
SyntaxError: Unexpected token | Ada salah ketik di kode, atau versi Node.js terlalu lama untuk sintaks yang dipakai | Cek baris yang disebut di error. Kalau kodenya benar, naikkan versi Node.js |
Cannot read properties of undefined | Kode membaca sesuatu yang kosong | Sering terjadi karena token atau variabel dari .env tidak terbaca. Lihat Menyimpan token dengan aman pakai .env |
An invalid token was provided | Token bot salah, ada spasi, atau kosong | Salin ulang tokennya ke .env lalu Restart |
Error soal memori
| Pesan | Artinya | Solusi |
|---|---|---|
JavaScript heap out of memory atau Reached heap limit | Aplikasi memakai lebih banyak RAM daripada yang tersedia | Lihat Server mati sendiri karena Out of memory |
Process exited with code 1 | Aplikasi berhenti karena error | Baca baris error di atas tulisan ini. Itu penyebab sebenarnya |
Kalau pesannya tidak ada di daftar
- Salin baris error pertama, lalu cari di Google bersama kata
node.js. - Pastikan versi Node.js sudah sesuai dengan project.
- Ikuti urutan di Server bermasalah? Urutan yang harus dicek.
- Kalau masih buntu, hubungi kami dengan ID transaksi dan baris error pertamanya.
Sensor dulu sebelum mengirim log. Kadang token atau password ikut tercetak di log. Hapus bagian itu sebelum mengirim log ke siapa pun.
Apakah artikel ini membantu?
