After upgrading nest to v8, I'm having problem making nestjs-i18n work.
Here's the Error I'm getting
Nest can't resolve dependencies of the I18nLanguageInterceptor (I18nOptions, I18nResolvers, I18nService, ?). Please make sure that the argument ModuleRef at index [3] is available in the I18nModule context.
Potential solutions:
If ModuleRef is a provider, is it part of the current I18nModule?
If ModuleRef is exported from a separate @Module, is that module imported within I18nModule?
@Module({
imports: [ /* the Module containing ModuleRef */ ]
})
- {"stack":["Error: Nest can't resolve dependencies of the I18nLanguageInterceptor (I18nOptions, I18nResolvers, I18nService, ?).
Please make sure that the argument ModuleRef at index [3] is available in the I18nModule context.
Potential solutions:
- If ModuleRef is a provider, is it part of the current I18nModule?
- If ModuleRef is exported from a separate @Module, is that module imported within I18nModule?
@Module({ imports: [ /* the Module containing ModuleRef */ ] })
Versions:
"@nestjs/common": "^8.2.0",
"@nestjs/core": "^8.2.0",
"nestjs-i18n": "8.2.2",
"rxjs": "^7.4.0",
Thank you for your help
basically, this happens when you have several values of
ModuleRef
class object, making Nest looking up for the wrong one, which makesx instanceOf ModuleRef
(that's done internally, roughly) returningfalse
This is probably because you have two
@nestjs/core
nodejs modules in your project.You can find this out by doing
(assuming a non-monorepo project)