Fix CI/CD : Correction de l'erreur wrangler not found dans GitHub Actions
Fix CI/CD : Correction de l'erreur wrangler not found dans GitHub Actions
Documentation de la résolution de l'erreur Command wrangler not found lors du déploiement dans GitHub Actions.
Correction de l’erreur CI/CD : Command wrangler not found
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 Racine1/3
-
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
2. Analyse de la Cause Racine2/3
-
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
2. Analyse de la Cause Racine3/3
-
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
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.