Mac M1+VSCode中Sanity Studio命令失效及语法错误排查求助
Sanity Studio运行问题排查与解决方法
一、本地主机语法错误解决(导出名称不匹配)
错误提示明确指向testimonials.js未提供名为testimonials的导出,结合你的代码,按以下步骤修复:
修正
testimonials.js的导出格式
你的代码中export default单独换行,可能触发JS自动分号插入导致异常,同时清理冗余逗号:export default { "name": "testimonials", "title": "Testimonials", "type": "document", "fields": [ { "name": "name", "title": "Name", "type": "String" }, { "name": "company", "title": "Company", "type": "String" }, { "name": "imageurl", "title": "ImgURL", "type": "image", "options": { "hotspot": true } }, { "name": "feedback", "title": "Feedback", "type": "String" } ] }统一文件扩展名(可选但推荐)
将testimonials.js重命名为testimonials.ts,保持与index.ts扩展名一致,避免TypeScript模块解析冲突,导入语句无需修改。验证导入逻辑
若仍报错,可将index.ts的导入语句改为显式默认导入:import { default as testimonials } from './testimonials' export const schemaTypes = [testimonials]
二、sanity命令(help/start)无法执行解决(Mac M1环境)
针对M1芯片的环境兼容性问题,按以下步骤排查:
检查并升级Node.js版本
Sanity CLI对Node版本有要求,推荐使用LTS版本(18.x/20.x),确保安装的是arm64架构版本:- 用
nvm管理版本:安装nvm后执行nvm install --lts,再nvm use --lts - 验证架构:执行
node -p process.arch,输出应为arm64
- 用
重新安装Sanity CLI
卸载全局CLI后重新安装,避免旧版本或架构不兼容:npm uninstall -g @sanity/cli npm install -g @sanity/cli若权限不足,添加
sudo前缀执行。清理项目依赖缓存
删除本地依赖文件夹和锁文件,重新安装:rm -rf node_modules package-lock.json npm install尝试用Rosetta运行终端
若部分依赖未适配arm64,右键终端应用→选择"使用Rosetta打开",再执行sanity命令。
内容的提问来源于stack exchange,提问作者AM14
相关产品推荐
相关产品推荐

