revalidatePath() / revalidateTag() was called outside a request scope. Calling revalidatePath() in a module-level scope is not supported.

`revalidatePath()` och `revalidateTag()` kan bara anropas inom en aktiv request, inte på modulnivå.

Förklaring

Next.js cache-revalidering är kopplad till en specifik request-kontext. Anropar du revalidatePath() direkt i en fils toppnivå, utanför en funktion, körs det när modulen laddas av Node.js och inte när en användare gör en förfrågan. Det finns ingen request-kontext att arbeta med.

Det här misstaget är vanligast i initialiseringsscript och utility-filer.

Vanliga orsaker

revalidatePath() eller revalidateTag() anropat på modulnivå. Revalidering placerad i ett script som importeras vid uppstart.

Lösning

Flytta anropet inuti en funktion som körs som svar på en request:

// Fel — körs vid modulimport
revalidatePath('/blog');

// Rätt — körs vid POST-request
export async function POST() {
  await db.updatePost();
  revalidatePath('/blog');
  return Response.json({ ok: true });
}

Detsamma gäller Server Actions: revalidering ska alltid ske inuti en async-funktion som triggas av en användarinteraktion.