错误:$VARIABLE 未在 Turbo.json 中列为依赖项

Flo*_*y99 8 next.js vercel turborepo

我无法解决标题中提到的错误:

错误:$VARIABLE 未在 Turbo.json 中列为依赖项

当我运行 npm run build 时,我收到两个变量的错误,而不是所有变量的错误,这对我来说很奇怪......

Error: $NEXT_STRIPE_SK is not listed as a dependency in turbo.json  turbo/no-undeclared-env-vars
Error: $NEXT_PUBLIC_STRIPE_PK is not listed as a dependency in turbo.json  turbo/no-undeclared-env-vars
Run Code Online (Sandbox Code Playgroud)

涡轮.json

{
  "$schema": "https://turbo.build/schema.json",
  "pipeline": {
    "build": {
      "dependsOn": [
        "^build"
      ],
      "outputs": [
        "dist/**",
        ".next/**"
      ]
    },
    "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"
  ]
},
Run Code Online (Sandbox Code Playgroud)

这是我的 .env.local

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE=
NEXT_PUBLIC_STRIPE_PK=
NEXT_STRIPE_SK=
Run Code Online (Sandbox Code Playgroud)

Yil*_*maz 1

根据配置

隐式全局哈希依赖项的文件全局列表。这些文件的内容将包含在全局哈希算法中并影响所有任务的哈希值。这对于基于 .env 文件(不在 Git 中)或影响工作区任务的任何根级文件(但未在传统依赖关系图中表示(例如根 tsconfig.json、jest.config.js、 .eslintrc 等))。

你应该将文件的名称传递给globalDependencies

"globalDependencies": [
    ".env", // contents will impact hashes of all tasks
    ".env.local",
    "tsconfig.json" // contents will impact hashes of all tasks
  ]
Run Code Online (Sandbox Code Playgroud)

  • 是的,我的目录根目录中有 .eslintrc.js,为什么? (2认同)