deploy

supabaseUrl is required

Tu app está intentando conectarse a Supabase, pero no sabe a qué proyecto. La dirección llega vacía, y la librería de Supabase se para antes de intentarlo siquiera.

Revisado en agosto de 2026

De paso

Ya de paso: ¿tu app está exponiendo datos?

Analízala gratis mientras lees. Tarda treinta segundos y no toca nada.

Solo leemos lo que tu app ya le entrega a cualquier visitante.

Diagnóstico

Por qué te pasa

Casi siempre es lo mismo: la app funciona en tu ordenador y se rompe al publicarla. En tu máquina existe un fichero con la dirección y la clave de Supabase, pero ese fichero no se sube al desplegar, a propósito, porque contiene credenciales. El servidor donde vive tu app publicada no las tiene, así que la variable llega vacía.

El otro motivo habitual es el nombre. Las herramientas que compilan la app solo dejan pasar al navegador las variables que empiezan por un prefijo concreto, y cada una usa el suyo: Vite y las apps hechas con Lovable o Bolt usan VITE_, Next.js usa NEXT_PUBLIC_. Si la variable se llama SUPABASE_URL a secas, existe en el servidor pero nunca llega al navegador, y el resultado es idéntico al de no haberla puesto.

Lo que este error no significa

  • No has perdido nada. Tu base de datos y tus usuarios están intactos en Supabase: este error ocurre antes de conectar, así que ni siquiera se ha llegado a tocar.
  • No has roto tu app. Es un dato de configuración que falta en un sitio, no código estropeado. El mismo código funciona en cuanto la variable está donde tiene que estar.
  • No es un problema de seguridad. La dirección del proyecto y la clave pública de Supabase están pensadas para ir en el navegador: que aparezcan en tu código es lo normal y lo correcto.

Solución

Arréglalo tú, gratis

Esto se arregla en el panel de tu hosting, no en el código, y por eso el agente que escribió tu app no puede hacerlo por ti: no tiene acceso a ese panel. Son dos minutos.

  1. 01Entra en tu proyecto de Supabase, en Project Settings y luego Data API. Ahí tienes la URL del proyecto y, en API Keys, la clave pública (la que pone anon o publishable). Cópialas.
  2. 02Abre el panel donde está publicada tu app. En Vercel es Settings y luego Environment Variables; en Netlify, Site configuration y luego Environment variables.
  3. 03Añade dos variables con el prefijo que use tu proyecto. Si tu app está hecha con Lovable, Bolt o cualquier cosa basada en Vite, son VITE_SUPABASE_URL y VITE_SUPABASE_ANON_KEY. Si es Next.js, NEXT_PUBLIC_SUPABASE_URL y NEXT_PUBLIC_SUPABASE_ANON_KEY.
  4. 04Marca las tres opciones de entorno si te las ofrece (producción, preview y desarrollo), para que no vuelva a pasarte en las previsualizaciones.
  5. 05Vuelve a desplegar. Este paso no es opcional: las variables se leen al construir la app, así que un despliegue anterior no las va a coger solo. En Vercel es la pestaña Deployments y luego Redeploy.

Si después de redesplegar sigue igual, casi seguro que el prefijo no coincide con el que usa tu proyecto. Es el fallo número uno.

Y esto para la parte de código

Pégaselo tal cual al agente que escribió tu app. Está redactado para que te diga lo que ha hecho, no solo para que lo haga.

Prompt para tu agente

Mi app da el error "supabaseUrl is required" al desplegarla, aunque funciona en local.

Necesito que hagas esto:
1. Busca en el proyecto dónde se crea el cliente de Supabase (createClient) y dime exactamente qué nombres de variables de entorno está leyendo.
2. Comprueba que esos nombres llevan el prefijo correcto para que lleguen al navegador (VITE_ en proyectos Vite, NEXT_PUBLIC_ en Next.js). Si no lo llevan, corrígelo en el código y en el fichero .env.example.
3. Añade una comprobación al arrancar que, si falta alguna de esas variables, lance un error claro diciendo cuál falta por su nombre, en vez del mensaje genérico de Supabase.
4. No pongas la URL ni la clave directamente en el código: tienen que seguir leyéndose de variables de entorno.

Después dime la lista exacta de variables que tengo que dar de alta en el panel de mi hosting, con sus nombres tal cual.

Si no sale

¿Lo has intentado y sigue sin salir?

O el escáner de arriba ha encontrado algo y prefieres no tocarlo solo. En cualquiera de los dos casos esto ya es de los gordos y merece un humano: no es que no hayas sabido, es que has llegado al punto en que hace falta alguien que entre y lo vea por dentro.

Las 10 primeras apps son gratis. Estoy empezando y necesito casos reales. A cambio te pido permiso para contar después qué me encontré, sin decir de quién era la app ni enseñar tus datos. Sin tarjeta y sin suscripción: cuando se acaben las plazas empezaré a cobrar y lo diré aquí.

Cita a partir de mañana

Agendar revisión

Gratis

durante el lanzamiento

Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.

  • Sesión de trabajo en directo contigo
  • Diagnóstico del error y del riesgo real
  • Te quedas con el arreglo aplicado

Hoy, en cola prioritaria

Rescate exprés

Gratis

durante el lanzamiento

Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.

  • Hueco el mismo día
  • Prioridad sobre las revisiones agendadas
  • Mismo trabajo, antes

Quién

Marc Sala

IT Manager

  • Analista de ciberseguridad certificado por Google

No es un rating anónimo de un marketplace: es la persona que va a entrar en tu app. Reviso el código, encuentro qué falla y lo arreglo contigo delante, explicándote qué ha pasado sin jerga.