【问题标题】:Gatsby Error persisting state: function could not be clonedGatsby 错误持续状态:无法克隆函数
【发布时间】:2022-01-08 00:41:37
【问题描述】:

最近我从 Gatsby V2 迁移到 V4,使用 official docs,因为我正面临这个警告并且它是这样的,

warn Error persisting state: function createFolder(folderData) {
    return client.mutate({
      mutation: mutations.createFo...<omitted>... } could not be cloned.

我正在使用节点版本:14.15.4 和 npm 版本:6.14.10

之前有没有人遇到过这个错误或者建议任何方法来解决这个问题。

【问题讨论】:

  • 嗯,文档从字面上说是从 v2 到 v3。你试过 v3 中的项目还是直接从 v2 转到 v4?
  • @FerranBuireu 我使用了文档中提到的命令{ "dependencies": { "gatsby": "^3.0.0" } } 它成功将版本更新到 V3,但是,在使用此命令更新 gatsby-plugins 时npm install gatsby-plugin-sharp@latest 它不适用于 V3 所以,我使用这个命令将它们一起更新到最新版本,npm install gatsby@latest
  • 所以问题是从 v2 到 v3,而不是到 v4。您是否尝试将您的 npm 版本更新到版本 7 以运行 --legacy-peer-deps 标志?

标签: node.js webpack runtime-error gatsby build-error


【解决方案1】:

我建议将您的 npm 版本更新到版本 7 以便运行:

npm install gatsby@latest --legacy-peer-deps

还有:

npm outdated

将您想要的版本与最新版本进行比较。

请记住,如果某些依赖项没有更新到任何相应的工作版本,您的项目可能无法运行。但是,对于 gatsby-plugin-sharp,作为官方维护的插件,我猜它会与 v3 兼容(他们最近才发布了 v4,所以......)。

在提出这些建议之前,我还建议在每个进程中清理缓存以及重新安装依赖项(或锁定的依赖项),如果需要,删除你的 node_modules、package-lock.json 等。

分享您的配置详细信息 (gatsby-config.js),看看版本 3 中是否需要重构。

【讨论】:

  • 我只使用低于 7 的 npm 版本,其他一切正常,构建也成功。剩下的只有我上面提到的警告,所以我正在努力寻找解决方案。
  • 正如我所说,尝试分享您的gatsby-config.js 以查看是否有线索可以从那里解决问题。如果该站点按预期工作,则会发出警告(除了它并不理想),它永远不会破坏您的编译或您的站点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多