更新后无法启动嵌套项目/在Typeorm依赖项初始化时停止

时间:2019-06-15 14:15:40

标签: nestjs typeorm

一个月后,我回到了一个小项目。我更新了nestjs和npm,但该应用程序无法启动。我还原了它,并且效果很好。在项目初始化(npm运行开始)时,它在以下位置停止:“ [嵌套] 13012-2019-06-15 16:01 [InstanceLoader] TypeOrmModule依赖项已初始化+ 1ms”。

这是我的仓库的链接:https://github.com/Ithrandil/coffeeshareBE 我真的不知道该怎么做,也没有在Nestjs存储库中找到任何特定的错误报告。

我在nestJs上已经从6.0.0升级到6.3.1。

以下是不同的更新:

  • @ types / express @ 4.17.0
  • prettier@1.18.2
  • nodemon@1.19.1
  • @ types / node @ 10.14.9
  • typeorm@0.2.18
  • swagger-ui-express@4.0.6
  • @ nestjs / platform-express @ 6.3.1
  • rxjs@6.5.2
  • @ nestjs / core @ 6.3.1
  • @ nestjs / typeorm @ 6.1.2
  • @ nestjs / testing @ 6.3.1
  • typescript@3.5.2
  • @ nestjs / common @ 6.3.1
  • class-transformer@0.2.3

2 个答案:

答案 0 :(得分:0)

您在package.json中没有声明TypeOrm依赖性,您是否将此Nest与Nest结合使用?如果是这样,则需要通过yarn或npm进行指定,它将作为依赖项添加到package.json文件中。

例如,在您的部门中添加TypeOrm的依赖项:

"typeorm": "^0.2.18"

看看它是否解决了所有问题,或者只是带来了另一个问题。

答案 1 :(得分:0)

问题似乎与您注入自定义存储库UserRepository的方式有关。

首先,在您的用户存储库中,删除构造函数,然后将类声明更改为如下形式:

@EntityRepository(User)
export class UserRepository extends Repository<User> {

然后,在您的用户模块中,将模块更改为如下所示:

@Module({
  imports: [TypeOrmModule.forFeature([User, UserRepository])],
  controllers: [UserController],
  providers: [UserService],
  exports: [],
})
export class UserModule {}

然后,在您的用户服务中,更改构造函数以注入存储库,如下所示:

constructor(
  @InjectRepository(UserRepository)
  private readonly userRepo: UserRepository,
) {}

有关更多信息,这是我发现的一个相关问题: https://github.com/nestjs/typeorm/issues/44