nestjs - Nest 无法解析 BullExplorer 的依赖关系
问题描述
当我运行 Nestjs 服务器时,出现以下错误。我正在使用 NestJS BullModule。
错误:Nest 无法解析依赖关系
BullExplorer (?, DiscoveryService, BullMetadataAccessor, MetadataScanner)
请确保索引 [0] 处的参数 ModuleRef 在 BullModule 上下文中可用。
潜在的解决方案:
- 如果 ModuleRef 是提供者,它是当前 BullModule 的一部分吗?
- 如果 ModuleRef 是从单独的 @Module 导出的,那么该模块是否导入到 BullModule 中?
@Module({ imports: [ /* the Module containing ModuleRef */ ] })
这是 Bull 模块配置:
BullModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => {
const redisConfig = configService.get<RedisConfig>("redis");
return {
redis: {
host: redisConfig.host,
port: redisConfig.port,
},
defaultJobOptions: {
timeout: 30000,
removeOnComplete: true,
removeOnFail: true,
attempts: 3,
},
};
},
inject: [ConfigService],
}),
BullModule.registerQueue({
name: MAIL_QUEUE,
}),
解决方案
事实证明这个问题在 NestJS 社区中是众所周知的。他们的不和谐在这里有一个完整的线程和对文档的 PR,提到如何解决这个问题,在这里等待合并。长话短说,如果你在使用 yarn 工作区的 monorepo 设置,你不想提升你的@nestjs
依赖。在你的根级别配置它,package.json
如下所示:
{
"workspaces": {
"packages": [],
"nohoist": [
"**/@nestjs/**"
]
}
}
推荐阅读
- python - 最大的森林(亚马逊面试题)
- regex - 分隔符之间的正则表达式单个字符
- python - Python验证用户输入的数据问题
- angular - 在多组件角度使用组件延迟加载?
- apache-kafka - Kafka 代理在从生产者处获取消息时是否对页面缓存/磁盘进行零拷贝写入?如果是这样,它如何进行任何健全性检查?
- styled-components - 使用 Styled-Components,为什么我不能从条件中访问主题?
- javascript - 有没有办法从 Vue.js Mixin 调用递归函数?
- javascript - PageSpeed Insights:资源被延迟时显示“阻塞”
- wso2is - WSO2 无法访问外面
- firebase - Firebase 测试实验室读取特定国家/地区的短信