runtime

Module not found

Al construir tu app, el proceso ha encontrado una línea que dice traer algo de un sitio, ha ido a buscarlo y no estaba. Se para ahí: sin esa pieza no puede terminar de montar nada.

Revisado en agosto de 2026

De paso

Ya de paso: ¿tu app está exponiendo datos?

Analízala gratis mientras lees. Tarda treinta segundos y no toca nada.

Solo leemos lo que tu app ya le entrega a cualquier visitante.

Diagnóstico

Por qué te pasa

La causa que más desconcierta, porque desafía la lógica, son las mayúsculas. Tu Mac no distingue entre un fichero llamado Boton.tsx y otro llamado boton.tsx: para él son el mismo. El servidor donde se construye tu app sí distingue. Así que un fichero que importas con una letra distinta a la real funciona toda la vida en tu ordenador y se rompe al publicar, siempre, sin excepción.

La segunda es una dependencia que está instalada en tu ordenador pero no declarada en el proyecto. Al construir en el servidor se instala solo lo declarado, y esa librería no aparece.

La tercera es una ruta relativa mal contada: un punto de más o de menos al subir de carpeta. En tu editor el aviso puede pasar desapercibido y al construir no.

Y la cuarta, muy típica de código generado, es importar algo que nunca llegó a crearse. El agente escribió la línea que trae un componente y luego no escribió el componente, o lo llamó de otra forma.

Lo que este error no significa

  • No has perdido ningún fichero. Está donde estaba: lo que no coincide es el nombre o la ruta con la que se pide.
  • No significa que tu proyecto esté corrupto ni que haya que reinstalar nada a lo bruto. Borrar dependencias y reinstalar rara vez arregla esto y hace perder mucho tiempo.
  • No es un problema del hosting. El mismo error saldría en cualquier sitio que construyera tu proyecto en un sistema que distinga mayúsculas, que son casi todos.

Solución

Arréglalo tú, gratis

El registro del despliegue te dice exactamente qué falta. Con ese nombre en la mano, la comprobación es rápida.

  1. 01Abre el registro del despliegue fallido en tu panel y busca la línea del error. Ahí aparece el nombre exacto de lo que no encuentra y desde qué fichero se pide.
  2. 02Si el nombre parece un fichero tuyo, con una barra o un punto delante, comprueba el nombre real en el proyecto letra por letra, mayúsculas incluidas. Es la causa número uno y la más fácil de pasar por alto.
  3. 03Si el nombre parece una librería, comprueba que está en la lista de dependencias del proyecto y no solo instalada en tu máquina.
  4. 04Comprueba también que la ruta sube las carpetas correctas. Si el fichero que importa está en una subcarpeta, los puntos iniciales tienen que reflejarlo.
  5. 05Si el fichero directamente no existe, hay que crearlo o quitar la línea que lo pide, y eso va en el prompt de abajo.

Para que no vuelva a pasarte lo de las mayúsculas, adopta un criterio y respétalo en todo el proyecto: o todos los ficheros en minúsculas, o todos los componentes con la primera letra en mayúscula. La mezcla es lo que genera el problema.

Y esto para la parte de código

Pégaselo tal cual al agente que escribió tu app. Está redactado para que te diga lo que ha hecho, no solo para que lo haga.

Prompt para tu agente

Mi despliegue falla con "Module not found". El registro dice: [PEGA AQUÍ LA LÍNEA COMPLETA DEL ERROR].

Necesito que hagas esto:
1. Dime si lo que falta es un fichero del proyecto o una librería externa.
2. Si es un fichero, comprueba el nombre real y compáralo carácter por carácter con el de la importación, prestando atención a mayúsculas y minúsculas. Corrige la importación para que coincida exactamente.
3. Revisa TODO el proyecto en busca de otras importaciones cuyo nombre no coincida exactamente con el fichero real, aunque hoy no den error. En mi ordenador no fallan y al desplegar sí, así que quiero cazarlas todas de una vez.
4. Si es una librería, comprueba que está declarada como dependencia del proyecto con una versión fijada. Si no lo está, añádela.
5. Si el fichero simplemente no existe porque nunca se creó, dímelo antes de crear nada: quiero decidir si hace falta o si sobra la importación.

Si no sale

¿Lo has intentado y sigue sin salir?

O el escáner de arriba ha encontrado algo y prefieres no tocarlo solo. En cualquiera de los dos casos esto ya es de los gordos y merece un humano: no es que no hayas sabido, es que has llegado al punto en que hace falta alguien que entre y lo vea por dentro.

Las 10 primeras apps son gratis. Estoy empezando y necesito casos reales. A cambio te pido permiso para contar después qué me encontré, sin decir de quién era la app ni enseñar tus datos. Sin tarjeta y sin suscripción: cuando se acaben las plazas empezaré a cobrar y lo diré aquí.

Cita a partir de mañana

Agendar revisión

Gratis

durante el lanzamiento

Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.

  • Sesión de trabajo en directo contigo
  • Diagnóstico del error y del riesgo real
  • Te quedas con el arreglo aplicado

Hoy, en cola prioritaria

Rescate exprés

Gratis

durante el lanzamiento

Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.

  • Hueco el mismo día
  • Prioridad sobre las revisiones agendadas
  • Mismo trabajo, antes

Quién

Marc Sala

IT Manager

  • Analista de ciberseguridad certificado por Google

No es un rating anónimo de un marketplace: es la persona que va a entrar en tu app. Reviso el código, encuentro qué falla y lo arreglo contigo delante, explicándote qué ha pasado sin jerga.