🔧

Nest can't resolve dependencies of the TypeOrmCoreModuleエラーに悩まされた話

2024/03/01に公開

実行環境とエラーの発生状況

  • M1 Macbook
  • ローカル環境でNestJSを使ったTodoアプリのチュートリアル中、npm run start:devでNestアプリケーションを起動しようとしたところ、以下のようなエラーが出力されました。
エラーメッセージ
ERROR [ExceptionHandler] Nest can't resolve dependencies of the TypeOrmCoreModule (TypeOrmModuleOptions, ?). Please make sure that the argument ModuleRef at index [1] is available in the TypeOrmCoreModule context.

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

Error: Nest can't resolve dependencies of the TypeOrmCoreModule (TypeOrmModuleOptions, ?). Please make sure that the argument ModuleRef at index [1] is available in the TypeOrmCoreModule context.

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

対処方法

npm install --save @nestjs/typeorm typeorm

でパッケージの再インストールをしたところ動くようになりました。

原因?

「依存関係が解決できない」みたいなエラーだったのでModuleの記述が間違ってるんじゃ無いかと色々弄ってみたり、MySQL側の設定を変えてみたりしましたが改善せず困っていたところ、stack overflowにて”typeormの再インストールで治ったことがあったよ”という回答を発見。
https://stackoverflow.com/questions/70394920/nest-cant-resolve-dependencies-of-the-typeormcoremodule
「そんなことある?」と半信半疑でしたが藁にもすがる思いで試してみたところ、無事症状が改善しました。

NestJSをちょっと前触れた時もパッケージの再インストールでエラーが直るみたいな経験をしたことがあるので、利用しているパッケージの再インストールを試してみるとうまくいくかもしれません。

それにしても、この手の不具合はエディタでエラーとかが出るわけじゃ無いので厄介ですね、、

GitHubで編集を提案

Discussion