执行npm run build时出现turbo.json环境变量未声明依赖错误
解决Turbo构建时Stripe环境变量依赖报错问题
问题原因
globalDependencies字段错误地给环境变量添加了$前缀,Turbo 要求此处直接填写变量名,不需要加$。- 主
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
相关产品推荐
相关产品推荐

