【问题标题】:Gatsby project giving strange errors and is unable to buildGatsby 项目给出奇怪的错误并且无法构建
【发布时间】:2020-05-22 22:39:03
【问题描述】:

我 npm install --save gatsby-transformer-sharp gatsby-plugin-sharp 然后在这样做之后我无法运行我的项目并且我收到了这些奇怪的错误:

(sharp:7804): GLib-GObject-WARNING **: 14:10:08.042: cannot register existing type 'VipsObject'

(sharp:7804): GLib-CRITICAL **: 14:10:08.043: g_once_init_leave: assertion 'result != 0' failed

(sharp:7804): GLib-GObject-CRITICAL **: 14:10:08.043: g_type_register_static: assertion 'parent_type > 0' failed

(sharp:7804): GLib-CRITICAL **: 14:10:08.043: g_once_init_leave: assertion 'result != 0' failed

【问题讨论】:

  • 你有机会使用 npm 吗?我切换到了 yarn,因为当我添加了 sharp 包时,npm 反复抛出这样的错误。对于 Gatsby,我建议使用 yarn 作为包管理器,因为这些无法解释的错误。如果你搜索 github 问题,你会发现很多与 npm 相关的包管理器问题。无论出于何种原因,纱线都更可靠。这只是我的经验,所以你会怎么做。
  • 令人惊讶的是,切换到纱线工作。我删除了 node_modules/ 以及 package.json 中的所有内容,并通过 yarn 安装了它。
  • 我在我的项目中使用了纱线,我在这里遇到了同样的问题。
  • 升级到 gatsby 2.1 后遇到同样的问题

标签: gatsby


【解决方案1】:

错误是由 gatsby-plugin-favicon 引起的,sharp 没有更新,暂时卸载它。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题(使用 Yarn,而不是 npm)。似乎某些二进制文件的错误版本缓存在某处。

    为我解决问题的是运行 yarn cache clean,删除整个 node_modules 并再次安装所有依赖项。

    【讨论】:

      【解决方案3】:

      问题很可能是 npm 生态系统在版本中发生了重大变化。有两种可能的解决方案:

      1.重建和切换依赖管理器

      从 npm 切换到 yarn 可能会解决这个问题。如果你搜索 github 问题,你会发现很多与 npm 相关的包管理器问题。我可以从我自己的经验中说,简单的开关在我的情况下是有效的。无论出于何种原因,纱线都更可靠。 gatsby 维护者推荐使用 yarn 进行 Gatsby 开发。

      2。删除有问题的插件

      数千个相互依赖的软件包经常会相互引入回归错误。一个一个去掉依赖,gatsby clean + yarn,或许能解决。正如@Zecide 提到的,如果您使用它,请以gatsby-plugin-favicon 开头。

      【讨论】:

        【解决方案4】:

        我尝试了以上所有方法,但没有任何效果。

        【讨论】:

          猜你喜欢
          • 2017-07-07
          • 1970-01-01
          • 1970-01-01
          • 2021-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-18
          相关资源
          最近更新 更多