Nestjs-OpenTelemetry icon indicating copy to clipboard operation
Nestjs-OpenTelemetry copied to clipboard

Nest can't resolve dependencies of the ControllerInjector

Open khoalda opened this issue 2 years ago • 5 comments

I followed the doc but got an error. Can anyone help me?

image

khoalda avatar Nov 04 '22 09:11 khoalda

I've just tried adding nestjs-opentelemetry to our application and I'm getting a similar / the same error. Nest doesn't seem to know how to inject ModulesContainer for any of the auto injectors. I've tried setting a specific traceAutoInjectors of [PipeInjector], and with default of all injectors.

Using:

njpearman avatar Nov 15 '22 09:11 njpearman

I've just tried adding nestjs-opentelemetry to our application and I'm getting a similar / the same error. Nest doesn't seem to know how to inject ModulesContainer for any of the auto injectors. I've tried setting a specific traceAutoInjectors of [PipeInjector], and with default of all injectors.

Using:

I solved it by upgrading my NestJS version to 9

khoalda avatar Nov 15 '22 16:11 khoalda

I tried with NestJS version 9 + nestjs-opentelemetry v3.0.0 but still experienced the same error. Maybe my node_modules/ were in a mess though. I'll try again.

njpearman avatar Nov 15 '22 17:11 njpearman

I'm having the same issue after upgrading to NestJS 10. Any updates on this? Thank you!

thefuga avatar Aug 10 '23 16:08 thefuga

Same problem with NestJS 10 as well. I tried removing ControllerInjector and still getting a similar error:

    OpenTelemetryModule.forRoot({
      traceAutoInjectors: [],
      serviceName: 'my-service',
    }),
[Nest] 27056  - 01/24/2024, 3:26:12 PM   ERROR [ExceptionHandler] Nest can't resolve dependencies of the DecoratorInjector (?). Please make sure that the argument ModulesContainer at index [0] is available in the OpenTelemetryModule context.

Potential solutions:
- Is OpenTelemetryModule a valid NestJS module?
- If ModulesContainer is a provider, is it part of the current OpenTelemetryModule?
- If ModulesContainer is exported from a separate @Module, is that module imported within OpenTelemetryModule?
  @Module({
    imports: [ /* the Module containing ModulesContainer */ ]
  })

Error: Nest can't resolve dependencies of the DecoratorInjector (?). Please make sure that the argument ModulesContainer at index [0] is available in the OpenTelemetryModule context.

Potential solutions:
- Is OpenTelemetryModule a valid NestJS module?
- If ModulesContainer is a provider, is it part of the current OpenTelemetryModule?
- If ModulesContainer is exported from a separate @Module, is that module imported within OpenTelemetryModule?
  @Module({
    imports: [ /* the Module containing ModulesContainer */ ]
  })

nicolasgarnil avatar Jan 24 '24 18:01 nicolasgarnil