You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sanity环境变量配置失败求助:process.env无法识别问题

如何在Sanity Studio中正确配置环境变量

核心配置步骤

  1. 严格遵循变量命名规则
    所有自定义环境变量必须以SANITY_STUDIO_作为前缀,这是Sanity Studio自动识别加载的硬性要求。比如你需要的Bearer token,应该在.env文件里写:
SANITY_STUDIO_AUTH_TOKEN=your-actual-bearer-token-here
  1. 放置正确的文件位置
    将.env或.env.local文件放在Sanity Studio的根目录(就是包含sanity.config.js/sanity.config.ts、sanity.cli.js的那个文件夹),不能放在子目录里。

  2. 重启Studio服务
    修改.env文件后,必须完全停止当前运行的sanity dev服务,再重新启动,否则新的环境变量不会被加载。

  3. 代码中正确引用
    确保代码里的变量名和.env里的完全一致,并且使用反引号包裹模板字符串:

// 在sanity.config.js中
export default defineConfig({
  // ...其他配置项
  api: {
    projectId: 'your-project-id',
    dataset: 'your-dataset',
    authorization: `Bearer ${process.env.SANITY_STUDIO_AUTH_TOKEN}`
  }
})

常见问题排查

  • 不要给变量加引号:.env文件里的变量值不需要用单/双引号包裹,直接写KEY=value即可,加引号会导致变量值包含引号本身。
  • Sanity v2需要手动引入dotenv:如果你用的是Sanity v2版本,需要先安装dotenv包:
    npm install dotenv --save-dev
    
    然后在sanity.config.js顶部添加:
    require('dotenv').config()
    
    v3及以上版本不需要这一步,Sanity会自动处理带SANITY_STUDIO_前缀的变量。
  • 检查拼写错误:确认变量名的大小写、前缀完全匹配,比如不要把SANITY_STUDIO_写成SANITYSTUDIO_或者漏掉下划线。
  • SANITY_ACTIVE_ENV的正确用法:如果要按环境区分配置(比如开发/生产),需要先在package.json的启动脚本里指定环境:
    "scripts": {
      "dev": "SANITY_ACTIVE_ENV=development sanity dev",
      "build": "SANITY_ACTIVE_ENV=production sanity build"
    }
    
    然后创建对应的环境文件,比如.env.development、.env.production,文件里的变量同样需要SANITY_STUDIO_前缀。

验证配置是否生效

可以在sanity.config.js里添加一行日志输出,重启服务后查看终端:

console.log('Loaded auth token:', process.env.SANITY_STUDIO_AUTH_TOKEN)

如果能正常打印出你的token值,说明配置已经生效,否则回到前面的步骤逐一排查。

内容的提问来源于stack exchange,提问作者Kris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:23:14