The redis client-provider 'Symbol(default)' was not found in the application context.
undownding opened this issue · 4 comments
undownding commented
RedisError: The redis client-provider 'Symbol(default)' was not found in the application context.
at RedisManager.getClient (/data/projects/portal-be/node_modules/@liaoliaots/nestjs-redis/dist/redis/redis-manager.js:26:19)
at new SmsService (/data/projects/portal-be/dist/app/sms/sms.service.js:24:35)
at Injector.instantiateClass (/data/projects/portal-be/node_modules/@nestjs/core/injector/injector.js:300:19)
at callback (/data/projects/portal-be/node_modules/@nestjs/core/injector/injector.js:48:41)
at async Injector.resolveConstructorParams (/data/projects/portal-be/node_modules/@nestjs/core/injector/injector.js:124:24)
at async Injector.loadInstance (/data/projects/portal-be/node_modules/@nestjs/core/injector/injector.js:52:9)
at async Injector.loadProvider (/data/projects/portal-be/node_modules/@nestjs/core/injector/injector.js:74:9)
at async Promise.all (index 4)
at async InstanceLoader.createInstancesOfProviders (/data/projects/portal-be/node_modules/@nestjs/core/injector/instance-loader.js:44:9)
at async /data/projects/portal-be/node_modules/@nestjs/core/injector/instance-loader.js:29:13
at async Promise.all (index 16)
at async InstanceLoader.createInstances (/data/projects/portal-be/node_modules/@nestjs/core/injector/instance-loader.js:28:9)
at async InstanceLoader.createInstancesOfDependencies (/data/projects/portal-be/node_modules/@nestjs/core/injector/instance-loader.js:18:9)
at async /data/projects/portal-be/node_modules/@nestjs/core/nest-factory.js:93:17
at async Function.asyncRun (/data/projects/portal-be/node_modules/@nestjs/core/errors/exceptions-zone.js:22:13)
at async NestFactoryStatic.initialize (/data/projects/portal-be/node_modules/@nestjs/core/nest-factory.js:91:13)
at async NestFactoryStatic.create (/data/projects/portal-be/node_modules/@nestjs/core/nest-factory.js:37:9)
at async bootstrap (/data/projects/portal-be/dist/index.js:17:17)
Need some other config?
liaoliaots commented
Could you please describe the RedisModule
configuration and the usage of the @InjectRedis()
or RedisManager
?
undownding commented
RedisModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => configService.get('REDIS_URL'),
}),
.env
REDIS_URL=redis://192.168.112.1/1
migratied from nestjs 7
constructor(
redisManager: RedisManager,
...
) {
this.redis = redisManager.getClient()
}
liaoliaots commented
Please follow the documentation:
RedisModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({ config: { url: configService.get('REDIS_URL') } }),
}),
undownding commented
works well, thanks.