해결된 질문
작성
·
498
답변 2
1
0
안녕하세요! QQ님!
실제로 테스트 결과 string-wdith의 버전 문제인 것으로 확인되었습니다!
지금 빌드가 안되는 문제는 또 다른 라이브러리에 대한 문제인데요!
해당 이슈를 발생시키는 라이브러리는 @nestjs/cli, @nestjs/schematics 이 두개 입니다!
위 두개의 버전이 올라가면서 연관된 라이브러리가 node 18버전을 필요로 하게 되었고, 그럼에 따라 node14 버전 빌드에서 실패하는 문제가 발생했어요!
여기서 단순히 node를 18버전으로 올리면 되지 않는가...?
그렇지는 않습니다. 그러면 또 다른 라이브러리들이 와장창 깨지기때문에, 현재로서는 @nestjs/cli, @nestjs/schematics 두개의 라이브러리 버전을 다운그레이드 시켜주실 필요가 있습니다.
따라서, 위 이미지와 같이 두 라이브러리의 버전을 9.0.0 으로 맞춰 주세요(^9.0.0 아닙니다)
하지만, 이렇게만 해도 결국 실패하는데요. 그 이유는 @nesetjs/schematics 9.0.0이 아닌 최신버전을 다운로드 하려는 또 다른 라이브러리가 내부에 존재하기 때문에 그렇습니다!
결국, @nestjs/cli, @nestjs/schematics 둘 다 마찬가지로 resolutions 에 추가해 주셔야 합니다!
추가된 코드는 아래와 같습니다.
이렇게 만들고, 기존의 yarn.lock, node_modules 파일을 제거해 주세요.
다음으로 yarn install을 하셔서 설치하시면 새로운 yarn.lock 파일이 생성됩니다.
이대로 docker를 빌드하여 실행해 보세요!
위 코드는 실제 작동하는 코드이며, 실행 결과는 아래와 같습니다.
버전 문제로 고생이 많은데, 실제로 실무에서 빈번하게 발생하는 과정들이며 이번 기회에 문제 해결방법도 함께 익히면 좋을 것 같아요!^^