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

Apollo+Express搭建GraphQL服务时报错找不到graphql模块

修复方案

核心问题

你遇到的找不到graphql模块报错由3个原因共同导致:

  1. 代码中使用了type-graphql的装饰器,但未在依赖中安装该包
  2. 依赖版本互相不兼容:apollo-server-express@3.x要求graphql版本≥15.0.0,你当前安装的graphql@14.2.1不符合要求
  3. 旧版本的ts-node和typescript对装饰器语法、ES模块导入的支持存在缺陷

具体操作步骤

  • 先卸载不兼容的旧依赖:
npm uninstall graphql @types/graphql typescript ts-node
  • 安装匹配版本的生产依赖:
npm install graphql@15.x type-graphql@1.x
  • 安装匹配版本的开发依赖:
npm install --save-dev typescript@4.x ts-node@10.x @types/node@16.x
  • 检查根目录tsconfig.json配置,确保开启装饰器相关支持,完整参考配置如下:
{
  "compilerOptions": {
    "target": "ES2018",
    "module": "CommonJS",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "strict": false,
    "outDir": "./dist",
    "rootDir": "./src"
  },
  "include": ["src/**/*"]
}
  • 清除缓存重新安装依赖启动:
    删除根目录下的node_modules文件夹和package-lock.json文件,执行npm install后再运行npm run start即可。

额外注意项

你当前注释了TypeORM的初始化逻辑,后续如果需要操作数据库,需要在初始化ApolloServer之前完成TypeORM连接初始化,否则实体相关查询会报错。

内容的提问来源于stack exchange,提问作者Vikram Ganesan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:15:00