Graphql Netlift build:gatsby source prismic-无效的插件选项| Netlify中的环境变量

Graphql Netlift build:gatsby source prismic-无效的插件选项| Netlify中的环境变量,graphql,gatsby,netlify,prismic.io,Graphql,Gatsby,Netlify,Prismic.io,当我尝试在Netlify上部署我的Gatsby站点时,它停止部署并抛出错误Gatsby source prismic-无效的插件选项 本地it构建完美,我没有任何问题,我添加了一个.env文件,其中包含PRISMIC\u存储库\u名称和PRISMIC\u访问\u令牌,其中包含PRISMIC.io中的值 我的插件选项有: resolve: `gatsby-source-prismic`, options: { repositoryName: process.

当我尝试在Netlify上部署我的Gatsby站点时,它停止部署并抛出错误
Gatsby source prismic-无效的插件选项

本地it构建完美,我没有任何问题,我添加了一个
.env
文件,其中包含
PRISMIC\u存储库\u名称
PRISMIC\u访问\u令牌
,其中包含PRISMIC.io中的值

我的插件选项有:

      resolve: `gatsby-source-prismic`,
      options: {
        repositoryName: process.env.PRISMIC_REPOSITORY_NAME,
        accessToken: process.env.PRISMIC_ACCESS_TOKEN,
        schemas: {
          post: require("./src/schemas/articles.json"),
        },
      },
    },
堆栈:

10:32:38 PM: Failed to validate error Error [ValidationError]: child "type" fails because ["type" must be one of [GRAPHQL, CONFIG, WEBPACK, PLUGIN]]
10:32:38 PM:     at Object.exports.process (/opt/build/repo/node_modules/@hapi/joi/lib/errors.js:202:19)
10:32:38 PM:     at internals.Object._validateWithOptions (/opt/build/repo/node_modules/@hapi/joi/lib/types/any/index.js:763:31)
10:32:38 PM:     at internals.Object.validate (/opt/build/repo/node_modules/@hapi/joi/lib/types/any/index.js:797:21)
10:32:38 PM:     at constructError (/opt/build/repo/node_modules/gatsby-cli/lib/structured-errors/construct-error.js:52:32)
10:32:38 PM:     at Reporter.error (/opt/build/repo/node_modules/gatsby-cli/lib/reporter/reporter.js:135:59)
10:32:38 PM:     at Reporter.panic (/opt/build/repo/node_modules/gatsby-cli/lib/reporter/reporter.js:75:34)
10:32:38 PM:     at Object.webhookBody [as panic] (/opt/build/repo/node_modules/gatsby/src/utils/api-runner-node.js:201:16)
10:32:38 PM:     at Object.exports.sourceNodes (/opt/build/repo/node_modules/gatsby-source-prismic/src/gatsby-node.ts:160:8)
10:32:38 PM:     at runAPI (/opt/build/repo/node_modules/gatsby/src/utils/api-runner-node.js:460:22)
10:32:38 PM:     at Promise.catch.decorateEvent.pluginName (/opt/build/repo/node_modules/gatsby/src/utils/api-runner-node.js:611:13)
10:32:38 PM:     at Promise._execute (/opt/build/repo/node_modules/bluebird/js/release/debuggability.js:384:9)
10:32:38 PM:     at Promise._resolveFromExecutor (/opt/build/repo/node_modules/bluebird/js/release/promise.js:518:18)
10:32:38 PM:     at new Promise (/opt/build/repo/node_modules/bluebird/js/release/promise.js:103:10)
10:32:38 PM:     at /opt/build/repo/node_modules/gatsby/src/utils/api-runner-node.js:609:16
10:32:38 PM:     at tryCatcher (/opt/build/repo/node_modules/bluebird/js/release/util.js:16:23)
10:32:38 PM:     at Object.gotValue (/opt/build/repo/node_modules/bluebird/js/release/reduce.js:166:18) {
10:32:38 PM:   isJoi: true,
10:32:38 PM:   details: [
10:32:38 PM:     {
10:32:38 PM:       message: '"type" must be one of [GRAPHQL, CONFIG, WEBPACK, PLUGIN]',
10:32:38 PM:       path: [Array],
10:32:38 PM:       type: 'any.allowOnly',
10:32:38 PM:       context: [Object]
10:32:38 PM:     }
10:32:38 PM:   ],
10:32:38 PM:   _object: {
10:32:38 PM:     context: {},
10:32:38 PM:     value: undefined,
10:32:38 PM:     type: 'string',
10:32:38 PM:     path: [],
10:32:38 PM:     branch: [ undefined ],
10:32:38 PM:     failures: [Function: failures],
10:32:38 PM:     pluginName: 'gatsby-source-prismic',
10:32:38 PM:     text: 'There was an error',
10:32:38 PM:     level: 'ERROR',
10:32:38 PM:     stack: [],
10:32:38 PM:     docsUrl: 'https://gatsby.dev/issue-how-to'
10:32:38 PM:   },
10:32:38 PM:   annotate: [Function]
10:32:38 PM: }
10:32:38 PM: not finished source and transform nodes - 0.127s
10:32:38 PM: error Command failed with exit code 1.

我希望有人能帮我解决这个问题。我不知道是什么错误。

在使用Gatsby+Netlify处理环境变量时,必须在它们前面加上
Gatsby
,以便Netlify可以使用它们。因此:

PRISMIC_ACCESS_TOKEN
PRISMIC_REPOSITORY_NAME
将成为:

GATSBY_PRISMIC_ACCESS_TOKEN
GATSBY_PRISMIC_REPOSITORY_NAME
在您的
.env
文件中本地更改它们,并在Netlify旁边通过以下方式进行更改:

注意:您可以在中访问该配置

资源:


您可以添加更多详细信息吗?您是否在Netlify中正确设置了
.env
?它是本地建造的吗?etcSorry这是我的错,是的,它构建了良好的本地环境,我添加了一个带有“PRISMIC\u访问令牌”和“PRISMIC\u存储库\u名称”的
.env
文件。非常感谢,这解决了我的部署问题