Error library

Next.js Module not found (Can't resolve)

Next.js can't resolve an import: the package isn't installed, the path or filename case is wrong, or a Node-only module (like fs) is imported into browser code. Install the dependency, fix the path, or keep server-only imports out of client components.

Cause: Missing dependency, wrong path/case (Linux builds are case-sensitive), or Node-only module in client code.

How to fix it

  1. Read the module name in the error.
  2. If it's a package, add it to dependencies and commit the lockfile.
  3. Check path and filename case exactly (./Button vs ./button).
  4. For fs/path errors, move that code to a Server Component, route handler or getServerSideProps.

Example

Illustrative example, not from a customer project.

- import Button from './button'
+ import Button from './Button'

FAQ

Why does it build on my Mac but fail on Vercel?

macOS is case-insensitive by default; the Linux build server isn't.

Why Can't resolve 'fs'?

fs exists only in Node.js; it can't be bundled for the browser.

Get a $149 diagnosis See pricing Launching soon? The Launch Path gets you ready for $1,195 flat.

$149Get a $149 diagnosis