Solución de problemas
Los errores que puedes encontrar al instalar, construir o editar 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 publino-landing ., y luegodocker run -p 3030:3030 publino-landing.
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, la última de yarn dev o yarn start. Otro programa ya escucha en el puerto 3030: a menudo una ejecución anterior de este sitio, o el servidor de otro proyecto.
Averigua qué ocupa el puerto
En macOS o Linux:
Terminallsof -i :3030En Windows, en PowerShell:
Terminalnetstat -ano | findstr :3030Detenlo
Cierra ese programa o detén la ejecución anterior: Ctrl+C en su terminal, o
docker stopcon el ID del contenedor que muestradocker ps. Después vuelve a iniciar el sitio.O usa otro puerto
Conserva el otro programa e inicia el sitio en un puerto libre, aquí
3041:Cómo lo ejecutas Comando Docker docker run -p 3041:3030 publino-landingServidor de desarrollo yarn dev -p 3041Versión de producción yarn start -p 3041Con Docker, cambia solo el número a la izquierda de
-p: el sitio dentro del contenedor siempre escucha en3030.Resultado esperado: El sitio responde en localhost:3041Local.
La construcción falla
docker build se detiene con "failed to solve" y el paso que falló; yarn build se detiene con el propio error. Las causas habituales:
- Sin conexión o tiempo de espera agotado: la construcción descarga las dependencias del registro de npm. Vuelve a ejecutar el comando cuando tengas conexión; con Docker, los pasos terminados se guardan en caché.
- `Invalid URL`:
NEXT_PUBLIC_SITE_URLno es una dirección completa. Escríbela conhttps://, comohttps://www.your-domain.com. - No space left on device: libera espacio en Docker Desktop o revisa cuánto usa Docker con
docker system df. - Falla en el mismo paso cada vez: vuelve a construir sin la caché.
Publino-templatedocker build --no-cache -t publino-landing .Sin Docker, elimina las carpetas node_modules y .next, y luego vuelve a ejecutar yarn install y yarn build.
Yarn dice que su versión es 1.22
This project's package.json defines "packageManager": "yarn@4.6.0…". 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ó un Yarn global antiguo.
corepack enableLuego vuelve a ejecutar yarn install. Usa Yarn en lugar de npm: yarn.lock es lo que mantiene tu instalación en las versiones con las que se probó la plantilla.
No se encuentra el comando corepack
corepack: command not foundNode.js 25 y posteriores ya no incluyen Corepack. Instálalo una vez con npm y luego actívalo:
npm install -g corepack
corepack enableLuego vuelve a ejecutar yarn install. Los mismos dos comandos solucionan yarn: command not found.
Node.js es demasiado antiguo
You are using Node.js 18.20.4. For Next.js, Node.js version ">=20.9.0" is required.Next.js 16 necesita Node.js 20.9 o posterior. Comprueba tu versión con node -v. Instala Node.js 22 o 24, abre una terminal nueva, ejecuta corepack enable de nuevo y luego yarn install y yarn dev.
Con Docker esto no se aplica: la imagen incluye su propio Node.js 24.
Un ajuste cambiado no hace nada
NEXT_PUBLIC_SITE_URL y los demás valores NEXT_PUBLIC_ se compilan en el sitio cuando se construye. Cambiar uno no cambia nada hasta que se vuelve a construir el sitio.
| Cómo lo ejecutas | Después de cambiar un valor |
|---|---|
yarn dev | Cámbialo en .env.local, detén el servidor y vuelve a ejecutar yarn dev. |
yarn build y yarn start | Cámbialo en .env.local, vuelve a ejecutar yarn build y luego yarn start. |
| Docker | Vuelve a construir la imagen con el valor como --build-arg. La construcción de la imagen ignora .env y .env.local. |
| Vercel | Cámbialo en Environment Variables del proyecto y vuelve a desplegar. |
yarn start falla o muestra una versión antigua
Could not find a production build in the '.next' directory. Try building your app with 'next build' before starting the production server.yarn start sirve la última versión de producción construida, desde la carpeta .next. Ejecuta yarn build primero, y de nuevo después de cada cambio.
Si el sitio muestra errores que no coinciden con tu código, a menudo después de cambiar la versión de una dependencia o BUILD_STANDALONE, borra la carpeta .next y construye de nuevo:
Publino-templaterm -rf .next
yarn buildEn Windows, en PowerShell, bórrala con Remove-Item -Recurse -Force .next.
Un formulario dice que se envió, pero no llega nada
Así se entrega la plantilla. El formulario de contacto y el formulario de la página de inicio validan lo que escriben los visitantes y muestran su mensaje de éxito, pero no envían nada a ningún sitio hasta que conectes cada uno a tu propio servicio.
El captcha muestra un error
ERROR for site owner: Invalid domain for site keyEl formulario de la página de inicio muestra una casilla de Google reCAPTCHA solo cuando NEXT_PUBLIC_RECAPTCHA_SITE_KEY está definida. Este mensaje significa que el dominio en el que abriste el sitio no está en la lista de dominios de esa clave. En la consola de administración de reCAPTCHA, añade tu dominio, y localhost para probarlo en tu equipo. La clave debe ser una clave reCAPTCHA v2 "No soy un robot".
Para quitar el paso del captcha, deja la variable vacía y vuelve a construir.
Un botón no hace nada
Algunos botones son marcadores de posición a propósito, listos para que los apuntes a tus propias páginas: Login y Book a call en el encabezado, Get Started y Learn More en el hero, Explore Templates en la sección responsive, Browse All Templates, y los botones y elementos de menú dentro de la maqueta del panel. Los enlaces sociales de la página de contacto apuntan a #. Los enlaces del encabezado, los botones de los planes y las tarjetas de plantillas ya funcionan.
No se muestra la imagen de vista previa de una plantilla
Invalid src prop (https://…) on `next/image`, hostname "…" is not configured under images in your `next.config.js`Las cuatro tarjetas de plantillas de ejemplo de la página de inicio cargan sus vistas previas desde el servidor de imágenes de Aniq UI, que next.config.js permite. Sin conexión a internet se quedan vacías. Si apuntas una tarjeta a una imagen de otro servidor, Next.js se detiene con el mensaje anterior: pon la imagen en public/ o añade su host a images.remotePatterns en next.config.js.
El sitio se abre en árabe
Abrir / envía al visitante a /ar cuando su navegador prefiere el árabe. Cuando un visitante elige un idioma en el menú del encabezado, el sitio lo recuerda. Elige inglés en el menú, o abre /pricing u otra página sin prefijo.
El sitio sigue oscuro o sigue claro
El sitio se abre en el tema oscuro. El botón del sol y la luna del encabezado lo cambia, y el navegador recuerda la elección. Para ver lo que ve un visitante nuevo, borra los datos del sitio de localhost:3030 en tu navegador o abre una ventana privada.
La carpeta se ve diferente
Ejecuta los comandos dentro de la carpeta en la que se extrae el ZIP, Publino-template. Contiene Dockerfile, package.json, yarn.lock, messages, public y src. Si falta el comando unzip, extráelo con tu gestor de archivos; algunas herramientas añaden una carpeta extra con el nombre del ZIP, así que entra en la interior.