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

执行npm run build时出现turbo.json环境变量未声明依赖错误

解决Turbo构建时Stripe环境变量依赖报错问题

问题原因

  1. globalDependencies 字段错误地给环境变量添加了 $ 前缀,Turbo 要求此处直接填写变量名,不需要加 $。
  2. 主 build 流水线任务未声明依赖这两个 Stripe 环境变量,导致构建时检测到变量被使用但未被列为依赖项。

修正步骤

1. 调整 turbo.json 配置

修改 globalDependencies 字段(去掉变量前的 $),同时给主 build 任务添加 env 声明:

{
  "$schema": "https://turbo.build/schema.json",
  "pipeline": {
    "build": {
      "dependsOn": [
        "^build"
      ],
      "outputs": [
        "dist/**",
        ".next/**"
      ],
      "env": [
        "NEXT_PUBLIC_STRIPE_PK",
        "NEXT_STRIPE_SK"
      ]
    },
    "order#build": {
      "dependsOn": [
        "^build"
      ],
      "env": [
        "NEXT_PUBLIC_STRIPE_PK",
        "NEXT_STRIPE_SK"
      ],
      "outputs": [
        ".next/**"
      ]
    },
    "lint": {
      "outputs": []
    },
    "dev": {
      "cache": false
    }
  },
  "globalEnv": [
    "NEXT_PUBLIC_SUPABASE_URL",
    "NEXT_PUBLIC_SUPABASE_ANON_KEY",
    "SUPABASE_SERVICE_ROLE",
    "NEXT_PUBLIC_STRIPE_PK",
    "NEXT_STRIPE_SK"
  ],
  "globalDependencies": [
    "NEXT_PUBLIC_SUPABASE_URL",
    "NEXT_PUBLIC_SUPABASE_ANON_KEY",
    "SUPABASE_SERVICE_ROLE",
    "NEXT_PUBLIC_STRIPE_PK",
    "NEXT_STRIPE_SK"
  ]
}

2. 重新执行构建

保存修改后运行 npm run build,报错即可解决。

补充说明

  • Turbo 的 env 字段用于明确流水线任务依赖的环境变量,确保构建时能正确识别变量变更并处理缓存逻辑。
  • globalDependencies 是全局声明所有任务共用的依赖变量,仅需填写变量名称,不需要前缀符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:30:47