错误#11321在Gatsby中构建时插入

时间:2020-07-16 20:19:57

标签: gatsby netlify

我正在尝试学习和编写我的第一本GatsbyJs porfolio,但是在构建此入门工具时,我遇到了错误:https://www.gatsbyjs.org/starters/smakosh/gatsby-portfolio-dev/

仍然没有碰到任何一行代码... 尝试删除node_modules和npm再次安装,但存在相同错误。


"gatsby-source-graphql" threw an error while running the sourceNodes lifecycle:

Response not successful: Received status code 401



  ServerError: Response not successful: Received status code 401
  
  - index.js:23 Object.exports.throwServerError
    [gatsby-portfolio-dev]/[apollo-link-http-common]/lib/index.js:23:17
  
  - index.js:48 
    [gatsby-portfolio-dev]/[apollo-link-http-common]/lib/index.js:48:21
  
  - task_queues.js:97 processTicksAndRejections
    internal/process/task_queues.js:97:5
  

not finished source and transform nodes - 1.135s

1 个答案:

答案 0 :(得分:1)

由于gatsby-config.jsline 25)中有一些环境变量,因此您的项目无法运行。

{
      resolve: 'gatsby-source-graphql',
      options: {
        typeName: 'GitHub',
        fieldName: 'github',
        url: 'https://api.github.com/graphql',
        headers: {
          Authorization: `bearer ${process.env.GATSBY_PORTFOLIO_GITHUB_TOKEN}`, // here
        },
        fetchOptions: {},
      },
    },

基本上,不允许您连接到GitHub来收集信息,并且它们的API会引发401错误(未经授权)。

环境变量包含idstokens和其他关键(和私有)数据,这些数据使您可以连接到某些外部API(在这种情况下为GitHub),并且不得将其上传到公共存储库中(出于明显的原因),这就是为什么入门者不提供此信息的原因。您应该自行将其添加到项目中。看一下GitHub's documentation以获得自己的API令牌。

如果您检查要运行的启动程序的CodeSandbox,则它们会有一个空的.env.development文件,所有这些变量都应该存放在该文件中。

有关更多信息,请查看Gatsby's documentation about Environment Variables