Exécuter une application Encore localement
Instructions
Exécutez ces commandes depuis le répertoire racine de l'application (celui contenant encore.app) ou n'importe quel répertoire en dessous. Choisissez l'une des deux :
- Pour vérifier que l'application démarre, ou qu'une modification fonctionne : utilisez
encore check(étape 1). Elle s'arrête toujours. - Pour garder l'application en cours d'exécution, afin que l'utilisateur la teste ou pour plusieurs requêtes : utilisez
encore runen arrière-plan (étape 2).
Ne lancez jamais encore run au premier plan. Elle ne s'arrête pas, la commande se bloque jusqu'à expiration du délai d'attente.
1. Vérifier avec encore check
encore check # démarrer l'application et l'arrêter
encore check 'curl /hello/world' # la démarrer, appeler un endpoint, l'arrêter
Pour plusieurs requêtes ou des corps JSON, passez les requêtes sur stdin, une par ligne :
encore check <<'EOF'
curl /hello/world
curl /url -X POST -H 'Content-Type: application/json' -d '{"url": "https://encore.dev"}'
curl /admin --no-fail -i
EOF
- Code de sortie 0 : l'application a démarré, et chaque requête a renvoyé un statut inférieur à 400.
- Code de sortie 1 : stdout contient le résultat de chaque requête, entre
=== [i/N] curl ... ===et--- exit: N ---. stderr contient les erreurs de build et les logs de l'application. Corrigez le problème et exécutez à nouveau. - Arguments de requête : tout ce qui suit le chemin est passé à curl. Ajoutez
-ipour voir le statut et les en-têtes, et--no-failà une requête qui devrait renvoyer un code d'erreur.
2. Exécuter en arrière-plan
-
Démarrez-la, avec sa sortie dans un fichier log. Si votre outil dispose de sa propre façon d'exécuter des commandes en arrière-plan, utilisez-la à la place.
encore run --browser=never > /tmp/encore-run.log 2>&1 & echo $! > /tmp/encore-run.pid -
Attendez que le log affiche
Encore development server running!. Si le processus s'arrête avant, le log contient l'erreur (voir Erreurs). -
Appelez l'API à
http://localhost:4000. Le tableau de bord de développement local se trouve àhttp://localhost:9400, avec un explorateur API et une trace de chaque requête. -
Après chaque modification du code, l'application se reconstruit et redémarre. Vérifiez le log pour les erreurs de build.
-
Quand vous avez terminé, arrêtez-la :
kill "$(cat /tmp/encore-run.pid)"
Drapeaux : --port=<n> change le port API (par défaut 4000). --listen=0.0.0.0:4000 accepte les connexions d'autres machines. --watch=false désactive la reconstruction lors des modifications.
Erreurs
no encore.app found in directory (or any of the parent directories): placez-vous dans le répertoire de l'application aveccd. S'il n'y a pas encore d'application, voirencore-create-app.The docker daemon is not running. Start it first.: démarrez Docker (macOS :open -a Docker), attendez quedocker inforéussisse, et exécutez à nouveau.docker not found: is it installed and in your PATH?: l'application dispose d'une base de données SQL, qui nécessite Docker. Voirencore-install.Failed to run on 127.0.0.1:4000 - port is already in use: unencore runantérieur occupe généralement le port. Arrêtez-le, ou utilisez le port libre de la ligne suivante :Note: port <n> is available; specify --port=<n> to use it.secrets not defined: <names>: un avertissement. L'application s'exécute avec ces secrets vides. Définissez les valeurs locales avecencore secret set --type local <name>, ou dans un fichier.secrets.local.cueignoré par git pour une application qui n'est pas sur Encore Cloud (voirencore-secretouencore-go-secret).- Erreurs de build : corrigez le fichier et la ligne indiqués, puis exécutez à nouveau. Un
encore runen arrière-plan se reconstruit à chaque sauvegarde.
Recommandations
- Préférez
encore checkpour confirmer qu'une modification fonctionne. Elle ne peut pas laisser de processus en cours d'exécution. - Arrêtez les exécutions en arrière-plan que vous avez lancées.
- Les agents peuvent lister les services et endpoints, appeler des endpoints, lire les traces et interroger les bases de données via le serveur MCP Encore local. Pour le configurer, voir
encore-mcp. - Pour les tests automatisés, utilisez
encore-testingouencore-go-testing. - Docs : https://encore.dev/docs/cli/cli-reference et https://encore.dev/docs/dev-dash