Solución de problemas
Los errores que puedes encontrar al instalar y modificar 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 tus comandos
Ejecuta
docker build -t company-site .y luegodocker run -p 3030:3030 company-site.
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 3030: a menudo una ejecución anterior de este 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 :3030Detenlo
Cierra ese programa o detén la ejecución anterior: Ctrl+C en su terminal, o
docker stoppara un contenedor que iniciaste condocker run. Después vuelve a iniciar el sitio.O ejecuta el sitio en otro puerto
Con Docker, deja
3030a la derecha de-py cambia el número de la izquierda:Terminalenlanding-page-template-3docker run -p 3041:3030 company-siteSin Docker, indícale el puerto a Yarn, o usa
yarn start -p 3041para la versión de producción:Terminalenlanding-page-template-3yarn dev -p 3041Resultado esperado: El sitio responde en su nuevo puerto, aquí localhost:3041Local.
La construcción falla
La primera construcción con Docker descarga la imagen base y todas las dependencias, y luego construye el sitio. Se detiene con "failed to solve" y el paso que falló cuando algo se interpone.
- Sin conexión o tiempo de espera agotado: la construcción necesita acceso a internet, para las dependencias y para las fuentes Inter y Noto Sans Arabic que descarga
next/font. Vuelve a ejecutar el comando cuando tengas conexión; los pasos terminados quedan en caché. - Un mensaje de que no se pudo obtener una fuente de Google Fonts: la misma causa, también con
yarn build. Comprueba quefonts.googleapis.comes accesible desde tu red. - 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-3docker build --no-cache -t company-site .Si yarn build se detiene por un error de tipos o de lint tras tus cambios, yarn typecheck y yarn lint muestran el archivo y la línea.
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…La carpeta fija Yarn 4 en package.json, 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 cambio de la dirección del sitio no tiene efecto
NEXT_PUBLIC_SITE_URL se incorpora a la construcción. Cambiar .env no cambia nada hasta que el sitio se vuelve a construir.
| Cómo lo ejecutas | Después de cambiar el valor |
|---|---|
yarn dev | Detenlo y vuelve a ejecutar yarn dev. |
yarn build y yarn start | Vuelve a ejecutar yarn build y luego yarn start. |
docker build | Vuelve a construir la imagen con el valor como --build-arg. Docker no lee .env. |
| Vercel | Cámbiala en las Environment Variables del proyecto y vuelve a desplegar. |
Algunas imágenes o logotipos no se ven
Los retratos y las fotos del blog y de las funciones se cargan desde images.unsplash.com, y la mayoría de los logotipos desde cdn.simpleicons.org. Sin acceso a internet, o en una red que bloquea esos servidores, se quedan vacíos.
Una imagen que apunta a otro sitio web necesita su servidor en images.remotePatterns en next.config.mjs, y luego reiniciar yarn dev o una nueva construcción. Si Simple Icons deja de servir una marca, guarda su logotipo en public/images/logos/ y apunta a ese archivo, como el código ya hace con Slack y Salesforce.
Un botón o un enlace no hace nada
Así viene el ejemplo: los botones no tienen destino y la mayoría de los enlaces apuntan a #. Dale a cada uno su dirección antes de publicar.
Una dirección muestra la página 404
El sitio tiene una página, en dos idiomas: /en y /ar. Cualquier otra dirección responde 404 hasta que añadas ese idioma o esa página.
La carpeta se ve diferente
Ejecuta los comandos dentro de la carpeta en la que se extrae el ZIP. Si no tienes 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 carpeta interior.
La carpeta correcta es landing-page-template-3, con Dockerfile, package.json, messages, public y src en su raíz.