You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行npm run schema:download下载GraphQL Schema报多实例错误如何解决?

解决方案

核心原因

报错的本质是项目node_modules目录中存在多个版本的graphql依赖包,废弃的旧版Apollo CLI和项目其他依赖加载了不同版本的graphql实例,导致类型校验不通过。

解决步骤

方案一:修复现有依赖冲突

  1. 清理现有依赖文件和缓存
# 删除依赖目录和锁文件
rm -rf node_modules package-lock.json yarn.lock
  1. 配置统一的graphql版本
    打开package.json,根据你使用的包管理工具添加对应配置:
  • 如果你使用npm,新增overrides字段:
{
  "name": "my-app",
  "version": "0.1.0",
  // 新增下面的配置
  "overrides": {
    "graphql": "你的项目已安装的graphql版本号,可在package.json的dependencies中查看"
  },
  "dependencies": {
    "graphql": "^16.8.0" // 这里的版本就是你要填到overrides里的版本
  },
  "scripts": {
    // 原有脚本不变
  }
}
  • 如果你使用yarn,新增resolutions字段:
{
  "name": "my-app",
  "version": "0.1.0",
  // 新增下面的配置
  "resolutions": {
    "graphql": "你的项目已安装的graphql版本号"
  }
}
  1. 重新安装依赖
# npm用户执行
npm install
# yarn用户执行
yarn install
  1. 重新执行下载命令
npm run schema:download

方案二:替换废弃工具(更推荐)

你使用的apollo CLI已经被官方废弃,完全可以换更轻量无冲突的工具完成schema下载操作:

  1. 修改package.json中的schema:download脚本:
"schema:download": "npx get-graphql-schema http://localhost:9000/graphql > ./src/app/graphql-schema.json"
  1. 直接执行脚本即可完成下载,不需要处理任何依赖冲突。

内容的提问来源于stack exchange,提问作者Deepak Vijayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:18:02