GraphQL与TypeGraphQL版本不兼容报错该如何处理?
版本不兼容原因说明
该报错是npm语义化版本规则以及框架适配逻辑共同导致的:
- 依赖声明里的
^15.3.0属于锁大版本的约束规则,仅允许大版本号为15、且小版本/修订号不低于3.0的版本,大版本号升级(15→16)不在兼容范围内 - TypeGraphQL 1.1.1为2021年发布的稳定版本,发布时graphql 16尚未正式推出,未适配graphql 16引入的大量破坏性API变更,因此即使graphql 16版本号更高,也无法正常搭配使用
修复方案(成本最低,适配旧教程)
直接将graphql降级到15.x分支的最新稳定版即可,操作步骤如下:
- 卸载当前已安装的graphql 16.0.1
# 使用npm的情况 npm uninstall graphql # 使用yarn的情况 yarn remove graphql
- 安装符合约束的graphql版本
# 使用npm的情况 npm install graphql@15.8.0 # 使用yarn的情况 yarn add graphql@15.8.0
操作完成后,你的package.json中dependencies字段下的graphql配置会更新为"graphql": "^15.8.0",重新执行npm run start即可正常启动项目。
若你不想降级graphql,也可升级type-graphql到2.x的预览版本,但非正式稳定版可能存在未知问题,和你使用的旧教程适配性也无法保证,不优先推荐。
内容的提问来源于stack exchange,提问作者imback0526
相关产品推荐
相关产品推荐

