Cara Mengatasi Cannot Find Module Node Js dengan Cepat

Error cannot find module di Node.js paling cepat diatasi dengan membaca baris pertama stack trace, lalu memastikan path file dan status instalasi package benar. Jalankan npm ls nama-package untuk memastikan package tercatat dan terpasang, lalu perbaiki path require atau import yang salah.

Penyebab Cannot Find Module di Node.js

Node.js membedakan tiga sumber error ini. Modul lokal yang dipanggil lewat path relatif, package npm dari folder node_modules, dan kesalahan sistem module antara CommonJS dan ES Module.

  • Path relatif salah, misalnya kurang ./ atau ../, salah nama folder, atau salah besar kecil huruf.
  • File dipanggil tanpa ekstensi yang tepat, terutama saat memakai ES Module yang wajib menulis .js.
  • Package belum diinstal atau package.json tidak sinkron dengan isi node_modules.
  • Kode memakai require() di proyek type: module, atau memakai import di proyek CommonJS.

Tabel Diagnosis Cepat Berdasarkan Pesan Error

Lihat baris require atau import yang disebut di stack trace. Baris itu menunjukkan file yang gagal dimuat, bukan selalu file yang rusak.

Masalah Penyebab Solusi
Cannot find module ‘./utils’ Path atau nama file lokal salah Perbaiki path dan cek huruf besar kecil
Cannot find module ‘express’ Package belum diinstal Jalankan npm install express
Must use import to load ES Module Paket ESM dipanggil dengan require Ubah ke import atau pakai dynamic import
__dirname is not defined Kode ESM memakai variabel CommonJS Buat manual dari import.meta.url
Error setelah pindah folder node_modules tidak sesuai struktur baru Instal ulang dengan npm install

Cek sistem module sebelum mengubah kode. Buka package.json dan lihat field type. Nilai module berarti proyek memakai import dan export.

Cara Memperbaiki Cannot Find Module Node Js

  1. Periksa path file lokal. Pastikan folder, nama file, dan huruf besar kecil sama persis.
  2. Periksa package.json. Pastikan nama package ada di dependencies.
  3. Periksa instalasi aktual dengan perintah berikut.
    npm ls express
    node --check index.js
  4. Instal dependency yang hilang tanpa menghapus folder secara sembarangan.
    npm install
  5. Perbaiki sintaks import dan export sesuai sistem module.
    // CommonJS
    const fs = require('fs');
    module.exports = { hello: 'halo' };
    // ES Module
    import fs from 'fs';
    export const hello = 'halo';

Jangan langsung menghapus node_modules dan package-lock.json sebagai langkah pertama. Tindakan itu memperlambat perbaikan dan bisa menimbulkan perbedaan versi dependency.

FAQ

Kenapa modul sudah diinstal tapi tetap cannot find module?

Umumnya package terinstal global, bukan lokal, atau namanya salah ketik di require dan import.

Apakah hapus node_modules selalu memperbaiki error ini?

Tidak. Cara itu hanya berguna bila instalasi rusak, dan berisiko mengubah versi bila lockfile ikut dihapus.

Bagaimana mengatasi error __dirname is not defined saat import?

Buat manual memakai path dan url karena ES Module tidak menyediakan __dirname bawaan.