Fix CI/CD : Correction de l'erreur wrangler not found dans GitHub Actions
Correction de l’erreur CI/CD : Command wrangler not found
Section titled “Correction de l’erreur CI/CD : Command wrangler not found”1. Description du Problème
Section titled “1. Description du Problème”Lors de l’exécution des workflows GitHub Actions après l’ajout de Better Auth, tous les jobs de déploiement échouaient avec l’erreur suivante :
Error: ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL
× Command "wrangler" not found
Error: Process completed with exit code 1.2. Analyse de la Cause Racine
Section titled “2. Analyse de la Cause Racine”-
Comportement de
pnpm execdans CI :pnpm exec wranglerne fonctionne pas correctement dans l’environnement GitHub Actions- Même avec wrangler installé à la racine du monorepo,
pnpm execne peut pas localiser le binaire - Ce problème est spécifique aux environnements CI/CD non-interactifs
-
Pourquoi
npx wranglerfonctionnait avant :npxtélécharge et exécute wrangler directement sans dépendre denode_moduleslocauxnpxest conçu pour fonctionner de manière fiable dans les environnements CI- La documentation Cloudflare recommande explicitement
npx wranglerpour les CI/CD
-
Historique de succès :
- Avant l’ajout de Better Auth, les workflows utilisaient
npx wrangleret fonctionnaient correctement - Le changement vers
pnpm exec wranglera introduit ce problème
- Avant l’ajout de Better Auth, les workflows utilisaient
3. Solution Appliquée
Section titled “3. Solution Appliquée”Revenir à npx wrangler qui est la méthode recommandée par Cloudflare pour les environnements CI/CD.
-
Utilisation de
npx wrangler: Mise à jour des workflows GitHub Actions (deploy-dev.yml,deploy-prod.yml,redeploy-secrets.yml) pour utilisernpx wrangler secret putetnpx wrangler deploy, garantissant l’exécution fiable dans les environnements CI/CD. -
Conservation du flag
--cwd: Le flag--cwdest conservé pour spécifier le répertoire de travail pour chaque service/application.
Note : Voir 29-fix-workflows-npx-wrangler.md pour les détails complets de la résolution et l’historique des tentatives.