Reputation: 1765
I have a local repo of a live NextJS/Sanity website, but I've set the Sanity projectID to a different blank Sanity project to avoid overwriting the live website.
At http://localhost:3000/
, I'm receiving:
Server Error
Error: Configuration must contain `projectId`
lib\client.js
contains:
const config = {
projectId: process.env.NEXT_PUBLIC_SANITY_ID || 'xxxxx',
dataset: process.env.NEXT_PUBLIC_SANITY_DATASET || 'production',
apiVersion: '2021-03-25',
useCdn: true,
}
const client = sanityClient(config)
I've added a CORS origin to my project & there's also a .env.local.example
in the root folder
NEXT_PUBLIC_SANITY_PROJECT_ID="xxxxxx"
NEXT_PUBLIC_PROJECT_ID="sj830cdx"
(so not solved by this answer)
If I rename env.local.example
to env.local
http://localhost:3000/
will load blank.
Help appreciated.
Upvotes: 1
Views: 1323
Reputation: 1
I changed the sanity import to as below and it worked for me. import {createClient) from 'next-sanity'; Also I read that the sanityClient configuration is deprecated. Use createClient instead.
Upvotes: 0
Reputation: 36
Seems like the error message you received indicates that the projectId
configuration value is missing in the config
object used to initialize the sanityClient
. The projectId is a required configuration parameter for the Sanity client to work properly.
To fix the issue, you can update the config
object in lib/client.js
to use NEXT_PUBLIC_SANITY_PROJECT_ID
const config = {
projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID || 'xxxxx',
dataset: process.env.NEXT_PUBLIC_SANITY_DATASET || 'production',
apiVersion: '2021-03-25',
useCdn: true,
}
Then, make sure to rename your .env.local.example
file back to .env.local
and set the value of NEXT_PUBLIC_SANITY_PROJECT_ID
to the correct project ID for your Sanity project. This should allow the sanityClient
to initialize correctly and resolve the server error you were seeing.
Upvotes: 1