Please wait...
Suggest:

Cara memperbaiki masalah Module not found: Can’t resolve saat deploy nextjs tapi tidak di local

Last update at November 30, 2024 by
Cara memperbaiki masalah Module not found: Can’t resolve saat deploy nextjs tapi tidak di local

Deploying aplikasi Next.js ke platform hosting seperti Railway sering kali menjadi tantangan tersendiri, terutama ketika semuanya berjalan lancar di lokal tetapi tiba-tiba error muncul saat proses build di server. Salah satu masalah yang umum terjadi adalah error “Module Not Found: Can’t Resolve”, yang disebabkan oleh perbedaan case sensitive pada nama file atau folder.

Dalam artikel ini, saya akan membagikan pengalaman saya mengatasi error tersebut, lengkap dengan langkah-langkah solusi yang bisa Anda coba.

Masalah yang Saya Hadapi

Beberapa waktu lalu, saya mencoba deploy proyek Next.js ke Railway. Di lokal, proyek berjalan tanpa kendala. Namun, saat proses build di Railway, muncul error seperti ini:

Module not found: Can't resolve 'path/to/FileName'

Awalnya, saya bingung karena semuanya tampak baik-baik saja di lokal. Saya pun mencoba googling untuk menemukan solusi, tetapi tidak ada jawaban spesifik untuk masalah ini. Setelah beberapa waktu frustrasi, saya menemukan sebuah diskusi di forum Railway yang memberikan titik terang.

Penyebab Masalah

Masalah ini disebabkan oleh perbedaan case sensitive antara nama file atau folder di lokal dengan yang terdeteksi oleh sistem di server. Contohnya:

  • Di lokal: FileName.js
  • Di server: filename.js

Sistem operasi seperti macOS atau Windows biasanya tidak mempermasalahkan case sensitive pada nama file atau folder. Namun, server Linux yang digunakan oleh platform hosting seperti Railway sangat memperhatikan case sensitive. Akibatnya, file yang namanya tidak konsisten menjadi tidak terdeteksi saat build.

Solusi yang Saya Temukan

Untuk mengatasi masalah ini, Anda perlu mengatur Git agar mendeteksi perubahan file atau folder berdasarkan case sensitive. Berikut adalah langkah-langkahnya:

1. Cek perbedaan case sensitive di Git:

Git secara default mengabaikan perubahan case sensitive. Untuk mengubahnya, jalankan perintah berikut di terminal:

git config core.ignorecase false

2. Identifikasi file yang bermasalah:

Setelah menjalankan perintah di atas, Git akan mulai mendeteksi perubahan pada file atau folder yang hanya berbeda pada huruf besar dan kecil. Jalankan perintah berikut untuk melihat daftar perubahan:

git status

3. Perbaiki nama file atau folder (Jika perlu)

Pastikan nama file atau folder di lokal sesuai dengan yang seharusnya, sesuai case sensitive yang benar.

4. Commit dan push perubahan:

Setelah nama file diperbaiki, commit perubahan tersebut ke repository Git dan push ke server:

git add . git commit -m "Fix case sensitive file names" git push

5. Build ulang proyek:

Deploy ulang proyek Anda ke Railway atau platform lainnya. Jika langkah-langkah di atas dilakukan dengan benar, error “Module Not Found: Can’t Resolve” seharusnya sudah teratasi.

Hasil Akhir

Setelah saya mengikuti langkah-langkah di atas, error tersebut berhasil teratasi, dan aplikasi saya bisa di-deploy tanpa masalah. Build selesai dengan lancar, dan aplikasi bisa diakses sebagaimana mestinya.

Kesimpulan

Masalah seperti ini mungkin tidak hanya terjadi di Railway, tetapi juga di platform hosting lain yang menggunakan server Linux. Oleh karena itu, penting untuk memastikan nama file atau folder konsisten dengan case sensitive yang benar.

Dengan menjalankan perintah sederhana seperti git config core.ignorecase false, Anda dapat menghindari kebingungan dan memperbaiki error yang disebabkan oleh perbedaan case sensitive.

Semoga artikel ini bermanfaat dan membantu Anda yang sedang menghadapi masalah serupa. Jika Anda memiliki pertanyaan atau pengalaman lain, jangan ragu untuk berbagi di kolom komentar!

Postingan Lainnya

©2024