Dépannage
Les erreurs que vous pouvez rencontrer en installant, construisant ou modifiant le site, leur cause et comment 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 votre commande
docker build -t publino-landing ., puisdocker run -p 3030:3030 publino-landing.
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 le port 3030 : souvent une exécution précédente de ce site, ou le serveur 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 l'exécution précédente : Ctrl+C dans son terminal, ou
docker stopavec l'identifiant du conteneur donné pardocker ps. Puis relancez le site.Ou utilisez un autre port
Gardez l'autre programme et démarrez le site sur un port libre, ici
3041:Comment vous la lancez Commande Docker docker run -p 3041:3030 publino-landingServeur de développement yarn dev -p 3041Build de production yarn start -p 3041Avec Docker, changez uniquement le nombre à gauche de
-p: dans le conteneur, le site écoute toujours sur3030.Résultat attendu: Le site répond sur localhost:3041Local.
Le build échoue
docker build s'arrête avec « failed to solve » et l'étape qui a échoué ; yarn build s'arrête avec l'erreur elle-même. Les causes habituelles :
- Pas de connexion ou délai dépassé : le build télécharge les dépendances depuis le registre npm. Relancez la commande une fois en ligne ; avec Docker, les étapes terminées sont mises en cache.
- `Invalid URL` :
NEXT_PUBLIC_SITE_URLn'est pas une adresse complète. Écrivez-la avechttps://, commehttps://www.your-domain.com. - No space left on device : libérez de l'espace dans Docker Desktop, ou vérifiez ce que Docker occupe avec
docker system df. - L'échec survient toujours à la même étape : reconstruisez sans le cache.
Publino-templatedocker build --no-cache -t publino-landing .Sans Docker, supprimez les dossiers node_modules et .next, puis relancez yarn install et yarn build.
Yarn indique la version 1.22
This project's package.json defines "packageManager": "yarn@4.6.0…". However the current global version of Yarn is 1.22…Le projet impose Yarn 4 via Corepack. Ce message signifie que Corepack n'est pas encore activé, donc un ancien Yarn global a répondu à sa place.
corepack enablePuis relancez yarn install. Utilisez Yarn plutôt que npm : yarn.lock garde votre installation sur les versions avec lesquelles le template a été testé.
La commande corepack est introuvable
corepack: command not foundNode.js 25 et les versions suivantes n'incluent plus Corepack. Installez-le une fois avec npm, puis activez-le :
npm install -g corepack
corepack enablePuis relancez yarn install. Les mêmes deux commandes règlent yarn: command not found.
Node.js est trop ancien
You are using Node.js 18.20.4. For Next.js, Node.js version ">=20.9.0" is required.Next.js 16 a besoin de Node.js 20.9 ou plus récent. Vérifiez votre version avec node -v. Installez Node.js 22 ou 24, ouvrez un nouveau terminal, relancez corepack enable, puis yarn install et yarn dev.
Avec Docker, cela ne s'applique pas : l'image apporte son propre Node.js 24.
Un paramètre modifié n'a aucun effet
NEXT_PUBLIC_SITE_URL et les autres valeurs NEXT_PUBLIC_ sont intégrées au site lors du build. En changer une ne change rien tant que le site n'est pas reconstruit.
| Comment vous la lancez | Après avoir modifié une valeur |
|---|---|
yarn dev | Modifiez-la dans .env.local, arrêtez le serveur et relancez yarn dev. |
yarn build et yarn start | Modifiez-la dans .env.local, relancez yarn build, puis yarn start. |
| Docker | Reconstruisez l'image avec la valeur passée en --build-arg. Le build de l'image ignore .env et .env.local. |
| Vercel | Modifiez-la dans les Environment Variables du projet et redéployez. |
yarn start échoue, ou affiche une ancienne version
Could not find a production build in the '.next' directory. Try building your app with 'next build' before starting the production server.yarn start sert le dernier build de production, depuis le dossier .next. Lancez d'abord yarn build, et de nouveau après chaque modification.
Si le site affiche des erreurs qui ne correspondent pas à votre code, souvent après avoir changé la version d'une dépendance ou BUILD_STANDALONE, supprimez le dossier .next et reconstruisez :
Publino-templaterm -rf .next
yarn buildSous Windows, dans PowerShell, supprimez-le avec Remove-Item -Recurse -Force .next.
Un formulaire dit avoir été envoyé, mais rien n'arrive
C'est ainsi que le template est livré. Le formulaire de contact et celui de la page d'accueil vérifient ce que saisissent les visiteurs et affichent leur message de réussite, mais n'envoient rien tant que vous ne reliez pas chacun à votre propre service.
Le captcha affiche une erreur
ERROR for site owner: Invalid domain for site keyLe formulaire de la page d'accueil n'affiche la case Google reCAPTCHA que si NEXT_PUBLIC_RECAPTCHA_SITE_KEY est définie. Ce message signifie que le domaine sur lequel vous avez ouvert le site ne figure pas dans la liste des domaines de cette clé. Dans la console d'administration reCAPTCHA, ajoutez votre domaine, et localhost pour l'essayer sur votre ordinateur. La clé doit être une clé reCAPTCHA v2 « Je ne suis pas un robot ».
Pour retirer l'étape du captcha, laissez la variable vide et relancez le build.
Un bouton ne fait rien
Certains boutons sont volontairement des espaces réservés, à diriger vers vos propres pages : Login et Book a call dans l'en-tête, Get Started et Learn More dans le hero, Explore Templates dans la section responsive, Browse All Templates, ainsi que les boutons et éléments de menu de la maquette de tableau de bord. Les liens sociaux de la page de contact pointent vers #. Les liens de l'en-tête, les boutons des formules et les cartes de templates fonctionnent déjà.
Une image d'aperçu de template ne s'affiche pas
Invalid src prop (https://…) on `next/image`, hostname "…" is not configured under images in your `next.config.js`Les quatre cartes de templates d'exemple de la page d'accueil chargent leurs aperçus depuis le serveur d'images d'Aniq UI, que next.config.js autorise. Sans connexion internet, elles restent vides. Si vous dirigez une carte vers une image d'un autre serveur, Next.js s'arrête avec le message ci-dessus : placez plutôt l'image dans public/, ou ajoutez son hôte à images.remotePatterns dans next.config.js.
Le site s'ouvre en arabe
Ouvrir / envoie un visiteur vers /ar quand son navigateur préfère l'arabe. Une fois qu'un visiteur choisit une langue dans le menu de l'en-tête, le site s'en souvient. Choisissez l'anglais dans le menu, ou ouvrez /pricing ou une autre page sans préfixe.
Le site reste sombre, ou reste clair
Le site s'ouvre dans le thème sombre. Le bouton soleil et lune de l'en-tête le change, et le navigateur retient le choix. Pour voir ce que voit un nouveau visiteur, effacez les données du site pour localhost:3030 dans votre navigateur, ou ouvrez une fenêtre privée.
Le dossier ne correspond pas
Lancez les commandes dans le dossier où le ZIP s'extrait, Publino-template. Il contient Dockerfile, package.json, yarn.lock, messages, public et src. Si la commande unzip est absente, extrayez plutôt le ZIP avec votre gestionnaire de fichiers ; certains outils ajoutent un dossier supplémentaire portant le nom du ZIP, entrez alors dans celui qui est à l'intérieur.