👀 See Sanity in action: Watch product demo now →

Deploying Next JS on Vercel

6 replies
Last updated: Jan 20, 2021
I’m having some issues with setting up a fresh setup of nextjs + sanity + vercel. I’ve got the build working locally and its able to find the static paths but when i run a deploy through vercel i get the following:
21:00:59.874  	> Build error occurred
21:00:59.876  	Error: Invalid `paths` value returned from getStaticPaths in /[slug].
21:00:59.876  	`paths` must be an array of strings or objects of shape { params: [key: string]: string }
21:00:59.877  	    at buildStaticPaths (/vercel/workpath0/node_modules/next/dist/build/utils.js:16:1065)
21:00:59.877  	    at processTicksAndRejections (internal/process/task_queues.js:97:5)
21:00:59.877  	    at async Object.isPageStatic (/vercel/workpath0/node_modules/next/dist/build/utils.js:26:612) {
21:00:59.877  	  type: 'Error'
21:00:59.877  	}
Would anyone know why this would happen? I’m think it may be some sort of permission thing for vercel to access sanity potentially? Thanks in advance!
Jan 20, 2021, 10:35 AM
are you talking to the prodution dataset?can you verify it’s set to public?
Jan 20, 2021, 10:36 AM
i would also just console.log(paths) to see whats happening
Jan 20, 2021, 10:36 AM
it is set to public, I’ll also console log paths
Jan 20, 2021, 10:36 AM
export async function getStaticProps ({ params = {}, preview = false }) {
  const { slug } = params
  const { page: pageData } = await getClient(preview).fetch(query, {
    slug
  })

  return {
    props: { preview, pageData, slug }
  }
}

export async function getStaticPaths () {
  const routes = await getClient()
    .fetch(`*[_type == "route" && defined(slug.current)]{
    "params": {"slug": slug.current}
  }`)

  return {
    paths: routes || null,
    fallback: true
  }
}
Heres the function in question also with its matching static props
Jan 20, 2021, 10:37 AM
After console logging
routes
just before the return its currently just undefined
Jan 20, 2021, 10:42 AM
Figured it out, after console logging the getClient I noticed by project ID wasn’t correct but the reason why i didnt have the issue locally was because my environment variables setup in vercel were wrong so when they we’re being used thats when i ran into this issue
Jan 20, 2021, 10:57 AM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Categorized in

Related topics

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
Deploy a Sanity + Next JS site to Netlify6Feb 9, 2021

Related contributions

Blog with Built-in Content Editing
- Template

Official(made by Sanity team)

A Sanity-powered blog with built-in content editing and instant previews.

Go to Blog with Built-in Content Editing

Fresco Cooks
- Made with Sanity

Fresco Cooks make software for smart appliances

Go to Fresco Cooks