🔧
Nest can't resolve dependencies of the TypeOrmCoreModuleエラーに悩まされた話
実行環境とエラーの発生状況
- 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の再インストールで治ったことがあったよ”という回答を発見。
「そんなことある?」と半信半疑でしたが藁にもすがる思いで試してみたところ、無事症状が改善しました。NestJSをちょっと前触れた時もパッケージの再インストールでエラーが直るみたいな経験をしたことがあるので、利用しているパッケージの再インストールを試してみるとうまくいくかもしれません。
それにしても、この手の不具合はエディタでエラーとかが出るわけじゃ無いので厄介ですね、、
Discussion