将 Gatsby v4 升级到 v5

问题描述 投票:0回答:4

我使用 Apple M1 Max 处理器并使用 MAC os Ventura 13.0。

我使用的是 Node v18.12.1 (npm v8.19.2)

使用后

gatsby new

并设置站点,将其安装到 Gatsby 4,并 React 到 18.1.0 并运行此命令后:

npm install gatsby@next --legacy-peers-deps

我在 package.json 文件中看到 Gatsby 现在设置为:5.0.0-next.16。

然后运行命令:

nvm install 18

然后运行命令:

npm run develop

但是后来我遇到了以下错误:

缺少调用“building-schema”的 onError 处理程序,错误为 '错误:无法将以下值创建为 TypeComposer:
GraphQLScalarType({ name: "Date", description: "日期字符串,例如 2007-12-03,符合ISO 8601标准表示 使用公历的日期和时间。”,specifiedByURL: 未定义,序列化:[函数字符串],parseValue:[函数 String], parseLiteral: [函数 parseLiteral], 扩展: { }, astNode:未定义,扩展ASTNodes:[]})。'。堆栈跟踪是“错误: 无法将以下值创建为 TypeComposer:
GraphQLScalarType({ name: "Date", description: "日期字符串,例如 2007-12-03,符合ISO 8601标准表示 使用公历的日期和时间。”,specifiedByURL: 未定义,序列化:[函数字符串],parseValue:[函数 String], parseLiteral: [函数 parseLiteral], 扩展: { }, astNode: 未定义,扩展ASTNodes: [] }).

这是苹果芯片的问题还是我遗漏了什么?

npm node-modules
4个回答
6
投票

显然,在我删除

package-lock.json
文件并删除
node_modules
文件夹后,我运行了
gatsby develop
并且运行了。

我还没弄清楚之前的问题是什么,但现在可以了。


2
投票

这是由于

graphql
安装的多个版本造成的。您需要将
resolutions
属性添加到您的
package.json
文件中,以便仅安装一个版本的
graphql

  "resolutions": {
    "graphql": "16.0.0"
  }

https://www.gatsbyjs.com/docs/reference/release-notes/migration-from-v4-to-v5/#multiple-versions-of-graphql


0
投票

安装了

graphql
gatsby
的多个版本,特别是对于那种
monorepo
类型的项目。


0
投票

当我简单地通过yarn安装graphql时,它对我有用。不知道我的 Gatsby 项目在依赖项中需要 graphql。纱线添加 graphql 修复了它。

© www.soinside.com 2019 - 2024. All rights reserved.