运行nestjs应用程序时遇到问题。
当前生态系统:
- Windows 10
-node版本:v12.10.0
-npm版本:6.10.3
-nestjs版本:6.14.2
重现步骤:
git clone https://github.com/gandra/nestjs-task-managament
cd nestjs-task-managament
npm i
npm run start
Run Code Online (Sandbox Code Playgroud)
收到以下错误:
CustomRepositoryCannotInheritRepositoryError: Custom entity repository TaskRepository cannot inherit Repository class without entity being set in the @EntityRepository decorator.
at new CustomRepositoryCannotInheritRepositoryError (C:\learn\node\nestjs-task-managament\node_modules\typeorm\error\CustomRepositoryCannotInheritRepositoryError.js:10:28)
at EntityManager.getCustomRepository (C:\learn\node\nestjs-task-managament\node_modules\typeorm\entity-manager\EntityManager.js:607:23)
at Connection.getCustomRepository (C:\learn\node\nestjs-task-managament\node_modules\typeorm\connection\Connection.js:365:29)
at getCustomRepository (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\typeorm\dist\typeorm.providers.js:15:68)
at InstanceWrapper.useFactory [as metatype] (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\typeorm\dist\typeorm.providers.js:20:24)
at Injector.instantiateClass (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\core\injector\injector.js:291:55)
at callback (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\core\injector\injector.js:75:41)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Injector.resolveConstructorParams (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\core\injector\injector.js:116:24)
at async Injector.loadInstance (C:\learn\node\nestjs-task-managament\node_modules\@nestjs\core\injector\injector.js:79:9)
Run Code Online (Sandbox Code Playgroud)
似乎以下两件事解决了问题。首先,我将TaskRepository注释从更改@EntityRepository()为@EntityRepository(Task)。修复后我遇到了错误EntityMetadataNotFound。然后我更改了TypeOrm entities文件中的 consrc/config/typeorm.config.ts并替换entities: [__dirname + '/../**/*.entity.ts'],为entities: [__dirname + '/../**/*.entity.{js,ts}'],.
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |