Dépannage
Les erreurs que vous pouvez rencontrer en installant et en modifiant le site, leur cause et la façon de les corriger.
Docker n'est pas lancé
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is runningLes anciennes versions de Docker affichent plutôt « Cannot connect to the Docker daemon ». Dans les deux cas, le moteur Docker n'est pas démarré.
Ouvrez Docker Desktop
Lancez Docker Desktop et attendez qu'il indique que le moteur est en marche. Sous Linux, démarrez le service :
sudo systemctl start docker.Vérifiez que Docker répond
Terminaldocker infoRésultat attendu: Une section Server s'affiche au lieu d'une erreur.
Relancez vos commandes
Lancez
docker build -t company-site ., puisdocker run -p 3030:3030 company-site.
Un port est déjà utilisé
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 :::3030Les deux premières lignes viennent de Docker, la dernière de yarn dev ou yarn start. Un autre programme écoute déjà sur 3030 : souvent un lancement précédent de ce site, ou le serveur de développement d'un autre projet.
Trouvez ce qui occupe le port
Sous macOS ou Linux :
Terminallsof -i :3030Sous Windows, dans PowerShell :
Terminalnetstat -ano | findstr :3030Arrêtez-le
Fermez ce programme ou arrêtez le lancement précédent : Ctrl+C dans son terminal, ou
docker stoppour un conteneur démarré avecdocker run. Relancez ensuite le site.Ou lancez le site sur un autre port
Avec Docker, gardez
3030à droite de-pet changez le nombre de gauche :Terminaldanslanding-page-template-3docker run -p 3041:3030 company-siteSans Docker, indiquez le port à Yarn, ou utilisez
yarn start -p 3041pour le build de production :Terminaldanslanding-page-template-3yarn dev -p 3041Résultat attendu: Le site répond sur son nouveau port, ici localhost:3041Local.
Le build échoue
Le premier build Docker télécharge l'image de base et toutes les dépendances, puis construit le site. Il s'arrête avec « failed to solve » et l'étape en échec quand quelque chose bloque.
- Pas de connexion ou délai dépassé : le build a besoin d'internet, pour les dépendances et pour les polices Inter et Noto Sans Arabic que télécharge
next/font. Relancez la commande une fois en ligne ; les étapes terminées sont en cache. - Un message indiquant qu'une police n'a pas pu être récupérée depuis Google Fonts : même cause, aussi avec
yarn build. Vérifiez quefonts.googleapis.comest accessible depuis votre réseau. - No space left on device : libérez de l'espace dans Docker Desktop, ou vérifiez ce que Docker occupe avec
docker system df. - Il échoue toujours à la même étape : reconstruisez sans le cache.
landing-page-template-3docker build --no-cache -t company-site .Si yarn build s'arrête sur une erreur de types ou de lint après vos modifications, yarn typecheck et yarn lint indiquent le fichier et la ligne.
Yarn indique la version 1.22
This project's package.json defines "packageManager": "yarn@4…". However the current global version of Yarn is 1.22…Le dossier fixe Yarn 4 dans package.json, via Corepack. Ce message signifie que Corepack n'est pas encore activé, et c'est donc l'ancien Yarn global qui a répondu.
corepack enablePuis relancez yarn install. Si votre Node.js n'a pas Corepack, installez-le d'abord avec npm install -g corepack.
Une modification de l'adresse du site n'a aucun effet
NEXT_PUBLIC_SITE_URL est intégrée au build. Modifier .env ne change rien tant que le site n'est pas reconstruit.
| Comment vous la lancez | Après avoir changé la valeur |
|---|---|
yarn dev | Arrêtez-la et relancez yarn dev. |
yarn build et yarn start | Relancez yarn build, puis yarn start. |
docker build | Reconstruisez l'image avec la valeur en --build-arg. Docker ne lit pas .env. |
| Vercel | Modifiez-la dans les Environment Variables du projet, puis redéployez. |
Certaines images ou certains logos ne s'affichent pas
Les portraits et les photos du blog et des fonctionnalités se chargent depuis images.unsplash.com, et la plupart des logos depuis cdn.simpleicons.org. Sans accès à internet, ou sur un réseau qui bloque ces hôtes, ils restent vides.
Une image qui pointe vers un autre site doit avoir son hôte dans images.remotePatterns de next.config.mjs, puis un redémarrage de yarn dev ou un nouveau build. Si Simple Icons ne sert plus une marque, enregistrez son logo dans public/images/logos/ et pointez vers ce fichier, comme le code le fait déjà pour Slack et Salesforce.
Un bouton ou un lien ne fait rien
C'est ainsi que l'exemple est livré : les boutons n'ont pas de destination et la plupart des liens pointent vers #. Donnez à chacun son adresse avant de publier.
Une adresse affiche la page 404
Le site a une page, en deux langues : /en et /ar. Toute autre adresse répond 404 tant que vous n'ajoutez pas cette langue ou cette page.
Le dossier ne correspond pas
Exécutez les commandes dans le dossier où le ZIP est extrait. Si la commande unzip est absente, extrayez-le plutôt avec votre gestionnaire de fichiers ; certains outils ajoutent un dossier supplémentaire portant le nom du ZIP : placez-vous alors dans le dossier intérieur.
Le bon dossier est landing-page-template-3, avec Dockerfile, package.json, messages, public et src à sa racine.