Next.js13+Sanity Studio v3构建报错:sanity无defineConfig导出成员
解决Sanity v3中
defineConfig/defineType/defineField导出不存在的问题 核心原因
Sanity v3的这类API依赖正确的包导入路径与版本匹配,你遇到的报错大概率是导入语句错误、依赖版本不兼容或安装不完整导致的。
修复步骤
1. 修正导入语句
确保使用Sanity v3的标准导入路径:
- 配置文件(
sanity.config.ts)中:import { defineConfig } from 'sanity' import { deskTool } from 'sanity/desk' - Schema文件中:
import { defineType, defineField } from 'sanity'
2. 清理并重装依赖
- 删除本地依赖文件与锁文件:
rm -rf node_modules # 根据你的包管理器选择对应命令 rm package-lock.json # npm rm yarn.lock # yarn rm pnpm-lock.yaml # pnpm - 重新安装依赖:
npm install # 或 yarn install / pnpm install
3. 确认Sanity版本
检查package.json中的Sanity相关依赖,确保均为v3.x版本:
{ "dependencies": { "sanity": "^3.0.0", "@sanity/vision": "^3.0.0" }, "devDependencies": { "@sanity/eslint-config-studio": "^3.0.0" } }
若版本不符,手动更新到最新v3版本:
npm install sanity@latest @sanity/vision@latest
4. 处理Monorepo路径问题(如果适用)
如果项目是Monorepo结构,进入Sanity Studio子目录单独执行依赖安装:
cd studio npm install
5. 排查Vercel缓存问题
若本地构建正常但Vercel构建报错,进入Vercel控制台对应项目的Settings -> Git,点击Clear Build Cache后重新触发构建。
内容的提问来源于stack exchange,提问作者Olowoseun
相关产品推荐
相关产品推荐

