본문 바로가기

Backend/NestJS

NestJS 10 버전업 과정

기존에는 nest 버전을 9버전대를 사용하고 있었다. (nestjs 버전 확인은 package.json에서 @nestjs/core을 확인하면 된다. 

그런데 7월 중순경에 10버전이 출시했다는 소식을 듣고, 우리 팀은 nestjs 9버전에서 10버전으로 업그레이드를 해보았다. 

"@nestjs/core": "^10.1.2"

 

9버전에서 10버전으로 갔는데 엄청난 type error가 발생하고 있었다. 더군다나 web3 모듈의 경우 지금 최신이 4버전인가 그런데 아직 1버전을 쓰고 있었는데 우리가 먼저 업데이트를 하면 안됐어서 web3와 블록체인 관련 모듈은 업그레이드를 하지 않고 nest와 typescript 관련 모듈만 최신으로 업그레이드를 하였다. 

https://docs.nestjs.com/migration-guide

 

 

 

 

[진행 과정] 

1. version up을 위한 테스트 브랜치 생성 

2. npm-check-updates를 yarn으로 설치 (우리 팀은 yarn을 사용하고 있다) 

https://yarnpkg.com/package/npm-check-updates

 

https://yarnpkg.com/package/npm-check-updates

Fast, reliable, and secure dependency management.

yarnpkg.com

3. 설치하고 타입 에러 해결하기 (LocalDate나 LocalDateTime 쪽에서 타입에러가 많이 발생하였다.) 

4. 블록체인 관련 모듈은 제거하고 원하는 패키지만 업데이트 하기 

https://moonspam.github.io/npm-check-updates/ 이 블로그에 정리가 잘 되어있다. (감사합니다!) 

 

 

* 업그레이드 시 관련 에러 

The engine "node" is incompatible with this module. Expected version ">=18.12.0". Got "16.17.0"
error Found incompatible module.

node 버전이 18.12.0 이상이라고 한다. 

https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.3.tgz: self signed certificate in certificate chain

회사망 내부 와이파이 > 공용 와이파이로 바꾸니 업데이트가 정상적으로 되었다. 내부 와이파이에서는 왜인지 진행이 안되었다 ㅠ 

 

이렇게 nestjs 10버전으로 업데이트가 잘 완료되었다.