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

QQ님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

15-02 API-Gateway 2

15-02 gateway2 docker-compose 에러

해결된 질문

작성

·

498

1

도커 빌드하고 실행하는 과정에서 에러가 발생하네요..

답변해주신 다른 글보고 해봐도 잘안되네요..

 

일단 빌드시 생기는 에러입니다.

Screenshot from 2023-06-14 21-47-17.png

yarn install 할때 경고가 엄청 발생하는데 apollo-server-express가 문제인 것 같은데 정확한건 잘 모르겠네요..

Screenshot from 2023-06-14 21-49-21.png

사용한 버전정보입니다.

Screenshot from 2023-06-14 21-47-32.png

도커 빌드가 완료되서 실행을 해도 gateway가 다운되고 1번에러라는 메세지만 받네요 .. 어떻게 해야 할 지 답변부탁드립니다 ㅜㅜ

답변 2

1

QQ님의 프로필 이미지
QQ
질문자

잘 해결되었습니다. 감사합니다 멘토님!

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! QQ님!

실제로 테스트 결과 string-wdith의 버전 문제인 것으로 확인되었습니다!

지금 빌드가 안되는 문제는 또 다른 라이브러리에 대한 문제인데요!
해당 이슈를 발생시키는 라이브러리는 @nestjs/cli, @nestjs/schematics 이 두개 입니다!
image
위 두개의 버전이 올라가면서 연관된 라이브러리가 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 에 추가해 주셔야 합니다!

추가된 코드는 아래와 같습니다.
image

이렇게 만들고, 기존의 yarn.lock, node_modules 파일을 제거해 주세요.
다음으로 yarn install을 하셔서 설치하시면 새로운 yarn.lock 파일이 생성됩니다.
이대로 docker를 빌드하여 실행해 보세요!

위 코드는 실제 작동하는 코드이며, 실행 결과는 아래와 같습니다.
image

버전 문제로 고생이 많은데, 실제로 실무에서 빈번하게 발생하는 과정들이며 이번 기회에 문제 해결방법도 함께 익히면 좋을 것 같아요!^^

QQ님의 프로필 이미지

작성한 질문수

질문하기