Gatsby 构建失败 google-字体

Gatsby build fails google-fonts

我好像运行进入了下面的错误,

>$ gatsby build                                          
success open and validate gatsby-configs - 0.065s
success load plugins - 1.222s
success onPreInit - 0.019s
success delete html and css files from previous builds - 0.002s
info One or more of your plugins have changed since the last time you ran Gatsby. As
a precaution, we're deleting your site's cache to ensure there's no stale data.
success initialize cache - 0.029s
success copy gatsby files - 0.039s

 ERROR #11321  PLUGIN

"gatsby-plugin-prefetch-google-fonts" threw an error while running the onPreBootstrap lifecycle:

ENOENT: no such file or directory, stat '.cache/google-fonts//fonts'



Error: ENOENT: no such file or directory, stat '.cache/google-fonts//fonts'

not finished onPreBootstrap - 7.272s

我的 gatsby-config.js 长这样,

{
      resolve: `gatsby-plugin-prefetch-google-fonts`,
      options: {
        fonts: [
          {
            family: `Poppins`,
            variants: [`300`, `400`, `500`, `600`, `700`],
          },
          {
            family: `Fira Sans`,
            variants: [`100`, `300`, `400`, `500`, `600`, `700`],
          },
        ],
      },
    },

package.json

"dependencies": {
    "@styled-system/theme-get": "^5.1.2",
    "axios": "^0.21.1",
    "babel-plugin-styled-components": "^1.12.0",
    "disqus-react": "^1.0.10",
    "formik": "^2.1.5",
    "gatsby": "^2.24.57",
    "gatsby-image": "^2.4.17",
    "gatsby-plugin-feed": "^2.5.11",
    "gatsby-plugin-google-analytics": "^2.3.13",
    "gatsby-plugin-lodash": "^3.3.10",
    "gatsby-plugin-mailchimp": "^5.2.2",
    "gatsby-plugin-manifest": "^2.4.28",
    "gatsby-plugin-offline": "^3.2.27",
    "gatsby-plugin-prefetch-google-fonts": "^1.4.3",
},

我尝试了以下但似乎不起作用 -

根据一些 GitHub 线程 (https://github.com/gatsbyjs/gatsby/issues/27607),这似乎是一个未解决的错误(影响大于 ^2.25.1 的版本),他们建议使用替代包,例如:

正确配置后,问题应该消失了。

请记住,如果您使用的是 Gatsvy v3,某些软件包可能会被弃用,直到它们升级到新版本的 Gatsby。

我个人使用 gatsby-plugin-google-fonts-v2 并且效果很好。您可以按照生成的 <link> 中的字体堆栈查看从 Google 加载的字体,在本例中为:

{
  resolve: `gatsby-plugin-google-fonts-v2`,
  options: {
    fonts: [
      {
        family: `Poppins:wght@300;400;500;600;700`,
      },
      {
        family: `Fira Sans:wght@100;300;400;500;600;700`,
      }
    ]
  }
},