Solución de problemas
Los errores que puedes encontrar al instalar o publicar el sitio, qué causa cada uno y cómo solucionarlo.
Docker no se está ejecutando
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is runningLas versiones antiguas de Docker muestran "Cannot connect to the Docker daemon" en su lugar. En ambos casos, el motor de Docker no está iniciado.
Abre Docker Desktop
Inicia Docker Desktop y espera a que indique que el motor está en ejecución. En Linux, inicia el servicio:
sudo systemctl start docker.Comprueba que Docker responde
Terminaldocker infoResultado esperado: Muestra una sección Server en lugar de un error.
Vuelve a ejecutar tu comando
docker build -t agency-portfolio .y luegodocker run -p 3030:3030 agency-portfolio.
Un puerto ya está en uso
Bind for 0.0.0.0:3030 failed: port is already allocated
ports are not available: exposing port TCP 0.0.0.0:3030 … bind: address already in use
Error: listen EADDRINUSE: address already in use :::3030Las dos primeras líneas vienen de docker run y la última de yarn dev o yarn start. Otro programa ya escucha en el puerto 3030: a menudo una ejecución anterior del sitio o el servidor de desarrollo de otro proyecto.
Averigua qué ocupa el puerto
En macOS o Linux:
Terminallsof -i :3030En Windows, en PowerShell:
Terminalnetstat -ano | findstr :3030Un contenedor anterior aparece en
docker ps.Detenlo
Cierra ese programa o detén la ejecución anterior: Ctrl+C en su terminal, o
docker stopcon el ID del contenedor. Después vuelve a iniciar el sitio.O ejecuta el sitio en otro puerto
Con Docker, cambia el número a la izquierda de
-p. El número de la derecha sigue siendo3030: es el puerto dentro del contenedor.Terminalenlanding-page-template-1docker run -p 3041:3030 agency-portfolioSin Docker, pasa el puerto al script:
Terminalenlanding-page-template-1yarn dev -p 3041Para una compilación de producción,
yarn start -p 3041.Resultado esperado: El sitio responde en localhost:3041Local.
La construcción de Docker falla
La primera construcción descarga la imagen base de Node.js y todas las dependencias, y después compila el sitio. Si algo se interpone, se detiene con "failed to solve" y el paso que falló.
- Sin conexión o tiempo de espera agotado: la construcción necesita acceso a internet. Vuelve a ejecutar el comando cuando tengas conexión; los pasos terminados quedan en caché.
- No space left on device: libera espacio en Docker Desktop o revisa cuánto usa Docker con
docker system df. - Falla siempre en el mismo paso: vuelve a construir sin la caché.
landing-page-template-1docker build --no-cache -t agency-portfolio .La carpeta se ve diferente
failed to read dockerfile: open Dockerfile: no such file or directoryEl comando se ejecutó fuera de la carpeta de la plantilla. El ZIP contiene una carpeta, landing-page-template-1, con el Dockerfile en su raíz. Algunos navegadores descomprimen la descarga por sí solos: en ese caso la carpeta ya está en tus descargas.
cd landing-page-template-1
lsls (o dir en Windows) muestra Dockerfile, package.json, messages, public y src. Ejecuta los comandos desde ahí.
Yarn dice que su versión es 1.22
This project's package.json defines "packageManager": "yarn@4…". However the current global version of Yarn is 1.22…El proyecto fija Yarn 4 a través de Corepack. Este mensaje significa que Corepack aún no está activado, así que respondió el antiguo Yarn global.
corepack enableDespués vuelve a ejecutar yarn install. Si tu Node.js no trae Corepack, instálalo antes con npm install -g corepack.
Un ajuste cambiado no tiene efecto
NEXT_PUBLIC_SITE_URL y NEXT_PUBLIC_API_BASE_URL se escriben en el sitio al compilarlo. Una compilación en marcha conserva los valores con los que se compiló.
- Sin Docker: ponlos en
.env.localen la carpeta del proyecto, no en.env.example. Reiniciayarn dev, o vuelve a ejecutaryarn buildantes deyarn start. - Con Docker: pásalos como
--build-argadocker buildy vuelve a construir.docker run -eno los cambia. - En Vercel u otro hosting: cambia la variable y vuelve a desplegar.
Los enlaces compartidos y las vistas previas apuntan a localhost
El enlace canónico, los enlaces de idioma o una tarjeta de vista previa muestran http://localhost:3030. El sitio se compiló sin NEXT_PUBLIC_SITE_URL, que recurre a esa dirección por defecto. Pon tu dirección pública, como https://www.your-domain.com, y vuelve a compilar.
El formulario de contacto
- Dice que el mensaje se envió, pero no llega nada:
NEXT_PUBLIC_API_BASE_URLestá vacío, así que el formulario solo muestra su mensaje de éxito y no envía nada. Pon la dirección de tu API y vuelve a compilar. - Muestra "Something went wrong. Please try again.": la petición a la ruta
/contactde tu API falló. Las herramientas de desarrollo del navegador muestran el motivo en Network: la API no es accesible, la ruta no existe, respondió con un error o no acepta peticiones desde la dirección de tu sitio (CORS).
El sitio se abre en árabe
Una dirección sin idioma, como /, sigue el idioma del navegador, así que un navegador configurado en árabe recibe /ar. Dentro de una misma sesión del navegador también vuelve al último idioma abierto, guardado en una cookie NEXT_LOCALE. Abre /en para el inglés o usa el selector de idioma de la barra de navegación.
El puntero del ratón desaparece
Es el cursor propio de la página: en pantallas de 768 píxeles de ancho o más oculta el puntero del sistema y dibuja un punto y un anillo en su lugar. Para conservar el puntero normal, consulta el cursor personalizado.
yarn lint avisa de que next lint está obsoleto
El aviso viene del propio Next.js 15.5. yarn lint sigue ejecutando ESLint sobre el código y muestra sus resultados como siempre.