Ir al artículo
Aniq-UI

Web Design AgencySolución de problemas

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

Lo que ves
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is running

Las versiones antiguas de Docker muestran "Cannot connect to the Docker daemon" en su lugar. En ambos casos, el motor de Docker no está iniciado.

  1. 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.

  2. Comprueba que Docker responde

    Terminal
    docker info

    Resultado esperado: Muestra una sección Server en lugar de un error.

  3. Vuelve a ejecutar tu comando

    docker build -t agency-portfolio . y luego docker run -p 3030:3030 agency-portfolio.

Un puerto ya está en uso

Lo que ves
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 :::3030

Las 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.

  1. Averigua qué ocupa el puerto

    En macOS o Linux:

    Terminal
    lsof -i :3030

    En Windows, en PowerShell:

    Terminal
    netstat -ano | findstr :3030

    Un contenedor anterior aparece en docker ps.

  2. Detenlo

    Cierra ese programa o detén la ejecución anterior: Ctrl+C en su terminal, o docker stop con el ID del contenedor. Después vuelve a iniciar el sitio.

  3. 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 siendo 3030: es el puerto dentro del contenedor.

    Terminalen landing-page-template-1
    docker run -p 3041:3030 agency-portfolio

    Sin Docker, pasa el puerto al script:

    Terminalen landing-page-template-1
    yarn dev -p 3041

    Para 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é.
Terminalen landing-page-template-1
docker build --no-cache -t agency-portfolio .

La carpeta se ve diferente

Lo que ves
failed to read dockerfile: open Dockerfile: no such file or directory

El 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.

Terminal
cd landing-page-template-1
ls

ls (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

Lo que ves
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.

Terminal
corepack enable

Despué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.local en la carpeta del proyecto, no en .env.example. Reinicia yarn dev, o vuelve a ejecutar yarn build antes de yarn start.
  • Con Docker: pásalos como --build-arg a docker build y vuelve a construir. docker run -e no los cambia.
  • En Vercel u otro hosting: cambia la variable y vuelve a desplegar.

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_URL está 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 /contact de 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.

¿Te atascaste en un paso?

Busca una solución antes de empezar de nuevo.

Solución de problemas

Preferencias de Cookies

Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Al hacer clic en "Aceptar Todo", consientes nuestro uso de cookies para análisis y publicidad personalizada.