인프런 커뮤니티 질문&답변

하리님의 프로필 이미지
하리

작성한 질문수

따라하며 배우는 NestJS

게시물 생성하기

도와주세요 ㅠㅠ!!

작성

·

900

0

안녕하세요.

현재 typeorm 버전을 0.2로 낮춰서 진행하려고 했지만,

아래 오류가 발생하여 진도를 나가지 못하고 있습니다!

 

왜 자꾸 파이프를 못 찾는다고 나오는지 검색해도 안되서 글 등록합니다 ㅠㅠ 도와주세요!

 

[Nest] 19044  - 2023. 05. 25. 오후 10:31:03   ERROR [ExceptionHandler] Cannot read properties of undefined (reading '__pipes__') 
TypeError: Cannot read properties of undefined (reading '__pipes__')
    at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:147:152
    at Array.forEach (<anonymous>)
    at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:147:39
    at Array.forEach (<anonymous>)
    at DependenciesScanner.reflectInjectables (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:146:27)    
    at DependenciesScanner.reflectDynamicMetadata (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:124:14)
    at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:114:18
    at Array.forEach (<anonymous>)
    at DependenciesScanner.reflectControllers (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:112:21)
    at DependenciesScanner.scanModulesForDependencies (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:84:18)

답변 2

3

저도 이거때매 한시간 고생했는데요. typeorm 0.2로 내릴 필요 없이 v0.3에서 진행하시고 아래 소스코드를 참고하세요.

1. board.repository.ts에서 아래와 같이 super 메서드를 사용해서 dataSource를 가져와주세요.

// board.repository.ts

export class BoardRepository extends Repository<Board> {
  constructor(private dataSource: DataSource) {
    super(Board, dataSource.createEntityManager());
  }

  async createBoard ... 생략
}

 

  1. boards.module.ts의 providers에 BoardRepository를 꼭 넣어주세요!!

// boards.module.ts

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { BoardRepository } from './board.repository';
import { BoardsController } from './boards.controller';
import { BoardsService } from './boards.service';

@Module({
  imports: [TypeOrmModule.forFeature([BoardRepository])],
  controllers: [BoardsController],
  providers: [BoardsService, BoardRepository],
})
export class BoardsModule {}


3. boards.service.ts

// boards.service.ts

@Injectable()
export class BoardsService {
  constructor(
    @InjectRepository(BoardRepository)
    private boardRepository: BoardRepository,
  ) {}

  async createBoard ...생략
  async getBoardById ... 생략

}


0

안녕하세요, 인프런 AI 인턴이에요.

에러 메시지를 보면 ‘pipes’ 프로퍼티를 찾을 수 없다고 나와 있습니다. 이는 NestJS가 의존성 주입 시 파이프를 해석하지 못하고 있다는 것입니다.

가장 먼저 확인해야 할 점은 NestJS의 버전입니다. NestJS 8.x 버전에서는 ‘pipes’ 대신 ‘pipe‘를 사용합니다. 만약 버전이 8.x 이상이라면, 해당 부분을 수정해보는 것도 좋을 것 같습니다.

만약 버전이 맞다면, 문제가 발생하는 코드 부분에 대해 자세히 살펴보세요. 주로 파이프 관련 모듈이나 컨트롤러에서 파이프를 사용하는 부분에서 비슷한 에러가 발생하는 경우가 많습니다. 코드 부분에 이상이 있다면 수정하거나 다시 작성해보세요.

더 자세한 내용이 필요하다면 코드를 공유해주시면 더 자세한 지도를 받을 수 있을 것 같습니다. 감사합니다.

하리님의 프로필 이미지
하리

작성한 질문수

질문하기