encore-run

Par encoredev · skills

Exécutez une application Encore.ts ou Encore.go localement. Couvre `encore check` pour démarrer l'application, appeler des endpoints et l'arrêter en une seule commande, l'exécution de `encore run` en arrière-plan pour ne pas bloquer le shell, le tableau de bord de développement local et la résolution des erreurs de démarrage.

npx skills add https://github.com/encoredev/skills --skill encore-run

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 run en 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 -i pour 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

  1. 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
  2. Attendez que le log affiche Encore development server running!. Si le processus s'arrête avant, le log contient l'erreur (voir Erreurs).

  3. 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.

  4. Après chaque modification du code, l'application se reconstruit et redémarre. Vérifiez le log pour les erreurs de build.

  5. 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 avec cd. S'il n'y a pas encore d'application, voir encore-create-app.
  • The docker daemon is not running. Start it first.: démarrez Docker (macOS : open -a Docker), attendez que docker info ré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. Voir encore-install.
  • Failed to run on 127.0.0.1:4000 - port is already in use: un encore run anté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 avec encore secret set --type local <name>, ou dans un fichier .secrets.local.cue ignoré par git pour une application qui n'est pas sur Encore Cloud (voir encore-secret ou encore-go-secret).
  • Erreurs de build : corrigez le fichier et la ligne indiqués, puis exécutez à nouveau. Un encore run en arrière-plan se reconstruit à chaque sauvegarde.

Recommandations

  • Préférez encore check pour 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-testing ou encore-go-testing.
  • Docs : https://encore.dev/docs/cli/cli-reference et https://encore.dev/docs/dev-dash

Skills similaires