¿Tienes problemas con Wrangler en WSL o errores en tus deploys? En esta guía encuentras las soluciones a los problemas más comunes con Wrangler, desde errores de binarios hasta issues de autenticación.
Problemas que vas a resolver
Esta guía cubre las soluciones para:
- Errores de binarios cruzados en WSL
- Problemas de autenticación con Cloudflare
- Errores en GitHub Actions y CI/CD
- Issues de deploy y configuración
- Workflow completo de desarrollo optimizado
Prerrequisitos
Para seguir esta guía necesitas:
- Conocimiento básico de Wrangler (configuración inicial)
- GitHub Actions configurado (guía de CI/CD)
- Acceso a terminal y logs de error
Problema #1: Errores de Binarios WSL
Síntoma
Error: You installed workerd on another platform than the one you're currently using.
Specifically the "@cloudflare/workerd-windows-64" package is present but this platform
needs the "@cloudflare/workerd-linux-64" package instead.
Causa
WSL mezcla binarios de Windows y Linux, causando conflictos en las dependencias de Wrangler.
Solución Definitiva
# 1. Limpiar instalaciones problemáticas
rm -rf node_modules package-lock.json
# 2. Reinstalar dependencias
npm install
# 3. Usar SIEMPRE npx en lugar de instalación global
npx wrangler --version # Funciona
wrangler --version # Puede fallar
# 4. Verificar que funciona
npx wrangler whoami
Prevención
Regla de oro: En WSL, SIEMPRE usa npx wrangler en lugar de wrangler global.
# Correcto
npx wrangler login
npx wrangler pages deploy dist
# Problemático en WSL
wrangler login
wrangler pages deploy dist
Problema #2: Errores de Autenticación
Síntoma
Error: Authentication required
Error: You need to be logged in to perform this action
Diagnóstico
# Verificar estado de autenticación
npx wrangler whoami
Soluciones por Escenario
Escenario A: No autenticado
# Re-autenticar
npx wrangler login
# Verificar
npx wrangler whoami
Escenario B: Token expirado
# Logout y login nuevamente
npx wrangler logout
npx wrangler login
Escenario C: Problemas de permisos
- Ve a: https://dash.cloudflare.com/profile/api-tokens
- Verifica que tu token tiene permisos de
Cloudflare Pages:Edit - Regenera el token si es necesario
🤖 Problema #3: Errores en GitHub Actions
Síntoma
Error: Authentication failed
Error: Project not found
Error: Invalid account ID
Diagnóstico y Solución
Verificar Secrets
- Ve a:
GitHub Repo → Settings → Secrets → Actions - Confirma que existen:
CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_API_TOKEN
Verificar Account ID
# Obtener Account ID correcto
npx wrangler whoami
# Copiar el Account ID y actualizar en GitHub Secrets
Verificar API Token
- Ve a: https://dash.cloudflare.com/profile/api-tokens
- Verifica permisos del token:
Account→Cloudflare Pages:EditAccount Resources→ Tu cuenta específica
Recrear Secrets si es Necesario
# 1. Obtener datos actualizados
npx wrangler whoami
# 2. Ir a GitHub → Settings → Secrets → Actions
# 3. Actualizar CLOUDFLARE_ACCOUNT_ID
# 4. Regenerar y actualizar CLOUDFLARE_API_TOKEN
Problema #4: Errores de Deploy
Síntoma A: Proyecto no encontrado
Error: Project "mi-proyecto" not found
Solución:
# Listar proyectos existentes
npx wrangler pages project list
# Crear proyecto si no existe
npx wrangler pages project create mi-proyecto
# Verificar nombre en wrangler.toml
cat wrangler.toml
Síntoma B: Directorio de build incorrecto
Error: Could not find directory "dist"
Solución:
# Verificar que el build funciona
npm run build
# Verificar directorio de salida
ls -la dist/
# Actualizar wrangler.toml si es necesario
# pages_build_output_dir = "dist" # o el directorio correcto
Síntoma C: Archivos muy grandes
Error: File too large for upload
Solución:
# Verificar tamaño de archivos
du -sh dist/*
# Optimizar build si es necesario
npm run build
# Verificar .gitignore para excluir archivos innecesarios
Problema #5: Issues de Configuración
wrangler.toml Incorrecto
Configuración mínima correcta:
name = "mi-proyecto"
compatibility_date = "2024-01-01"
pages_build_output_dir = "dist"
package.json Scripts Optimizados
{
"scripts": {
"build": "astro build",
"deploy": "npm run build && npx wrangler pages deploy dist --project-name=mi-proyecto --commit-dirty=true",
"deploy:clean": "npm run build && npx wrangler pages deploy dist --project-name=mi-proyecto",
"deploy:ci": "wrangler pages deploy dist --project-name=mi-proyecto",
"pages:list": "npx wrangler pages project list",
"wrangler:login": "npx wrangler login",
"wrangler:whoami": "npx wrangler whoami"
}
}
Herramientas de Diagnóstico
Comandos de Verificación
# Verificar autenticación
npx wrangler whoami
# Listar proyectos
npx wrangler pages project list
# Verificar configuración del proyecto
npx wrangler pages project get mi-proyecto
# Test de deploy (sin hacer deploy real)
npm run build && echo "Build successful"
# Verificar versión de Wrangler
npx wrangler --version
Logs Útiles
# Deploy con logs detallados
npx wrangler pages deploy dist --project-name=mi-proyecto --verbose
# Verificar logs de GitHub Actions
# GitHub Repo → Actions → Click en workflow → Ver logs detallados
Workflow Completo de Desarrollo
Para Desarrollo Local
# 1. Desarrollo
npm run dev
# 2. Test de build
npm run build
# 3. Deploy de prueba (opcional)
npm run deploy
# 4. Si todo está bien, commit y push
git add .
git commit -m "feat: nueva funcionalidad"
git push origin main # Deploy automático
Para Debugging
# 1. Verificar autenticación
npm run wrangler:whoami
# 2. Verificar proyectos
npm run pages:list
# 3. Test de build local
npm run build
# 4. Deploy manual para debugging
npm run deploy
Optimizaciones de Performance
Cache en GitHub Actions
Asegúrate de que tu workflow use cache:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm' # ← Importante para performance
Scripts Optimizados
# Para desarrollo rápido (permite dirty commits)
npm run deploy
# Para producción (requiere commits limpios)
npm run deploy:clean
# Para CI/CD (sin npx)
npm run deploy:ci
Mejores Prácticas
1. Entorno WSL
- Siempre usar
npx wrangler - Limpiar
node_modulessi hay problemas - Verificar autenticación regularmente
2. GitHub Actions
- Usar secrets para credenciales
- Verificar permisos de API tokens
- Monitorear logs de deploy
3. Desarrollo
- Test local antes de push
- Commits descriptivos
- Deploy manual para debugging
Checklist de Troubleshooting
Cuando tengas problemas, sigue este checklist:
- ¿Estás usando
npx wrangleren WSL? - ¿Está autenticado? (
npx wrangler whoami) - ¿Existen los secrets en GitHub?
- ¿El proyecto existe en Cloudflare Pages?
- ¿El build local funciona? (
npm run build) - ¿El
wrangler.tomlestá configurado correctamente? - ¿Los permisos del API token son correctos?
Conclusión
Con estas soluciones tienes las herramientas para resolver los problemas más comunes con Wrangler y deploy automático. Recuerda:
- WSL: Siempre
npx wrangler - Autenticación: Verificar regularmente
- GitHub Actions: Secrets y permisos correctos
- Deploy: Test local primero
Serie Completa:
- Configurar Wrangler y Cloudflare Pages - Configuración inicial
- GitHub Actions para Deploy Automático - CI/CD setup
️ Explora más:
- Posts sobre Troubleshooting - Más soluciones
- Automation & DevOps Hub - Automatización completa
¿Te ayudaron estas soluciones? ¡Guarda esta guía como referencia para futuros problemas con Wrangler!