运行NestJS GraphQL服务时出现Package subpath './express4'未定义错误
解决方案
问题根源
你的依赖存在版本冲突:
@nestjs/apollo@11.0.6仅兼容 Apollo Server 4.x,但你安装了@apollo/server@^5.0.0(5.x版本),两者不兼容- 同时存在已废弃的
apollo-server-express@^3.13.0,它与@apollo/server@5.x会产生依赖冲突,导致找不到./express4子路径
具体修复步骤
修改package.json依赖
删除apollo-server-express,并将@apollo/server降级到4.x兼容版本,修改后的dependencies如下:"dependencies": { "@apollo/server": "^4.10.0", "@nestjs/apollo": "11.0.6", "@nestjs/common": "^11.0.1", "@nestjs/core": "^11.0.1", "@nestjs/graphql": "11.0.6", "@nestjs/platform-express": "^11.0.1", "graphql": "^16.11.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1" }清理并重新安装依赖
执行以下命令:rm -rf node_modules package-lock.json npm install验证配置
你的app.module.ts配置是正确的,无需修改。启动服务后即可正常运行。
内容的提问来源于stack exchange,提问作者Shehan DMG
相关产品推荐
相关产品推荐

