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.