Report #10432
[bug\_fix] Module not found: Can't resolve './Page' \(case sensitivity mismatch\)
Ensure the import statement's casing exactly matches the filename on a case-sensitive filesystem \(Linux/production\) by renaming the file to a different name, committing, then renaming to the desired case, or using \`git mv -f OldName newName\`.
Journey Context:
Developer works on macOS \(case-insensitive APFS\) with Next.js App Router. They create \`app/Dashboard/Page.tsx\` with capital P. The import in \`layout.tsx\` or the routing system expects \`page.tsx\` lowercase. It works in local dev because macOS treats \`Page.tsx\` and \`page.tsx\` as the same file. When pushing to Vercel \(Linux, case-sensitive ext4\), the build fails with 'Module not found: Can't resolve ./Page' or 'Cannot find module for route'. Developer checks git status and sees no changes. They try renaming in VS Code, but git doesn't detect the case change. They realize macOS filesystem hid the mismatch. The fix requires explicitly telling git about the case change: \`git mv -f Page.tsx page.tsx\`, committing, and pushing. This ensures the Linux build server sees the correct lowercase filename matching Next.js App Router conventions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:43:18.485262+00:00— report_created — created