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

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

작성한 질문수

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

15-02 API-Gateway 2

15-02 API-GateWay 2

해결된 질문

작성

·

548

0

안녕하세요 수업을 잘 따라가고 있던 중 오류가 발생하였습니다... docker을 작동 하였고 아래와 같이 나와 도커를 확인 하였습니다.스크린샷 2023-06-02 오전 1.12.52.png

스크린샷 2023-06-02 오전 1.13.39.png

gatway제외한 나머지는 작동이 되는 걸 확인 하였고 gateway만 따로 작동을 하자
스크린샷 2023-06-02 오전 1.14.29.png아래와 같이 에러가 발생하였습니다... 버전문제 때문에 그런건가요...??
스크린샷 2023-06-02 오전 1.39.16.png

답변 1

0

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

안녕하세요! 뽕리뽕뽕님!

apollo 버전이 4버전으로 올라가면서 @apollo/server 를 설치하도록 변경되었어요!
하지만, 강의 촬영 시점은 3버전이었기 때문에 @apollo/server 대신, apollo-server-express 라는 것을 설치했었어요!
따라서 설치버전을 아래와 같이 변경해 주세요!

"@apollo/gateway": "2.2.2",
"apollo-server-express": "3.11.1",
"@nestjs/apollo": "10.1.7",
"@nestjs/graphql": "10.1.7",
"graphql": "^16.6.0",

node_modules, yarn.lock 파일을 제거하시고 다시 install 하셔서 시도해 보세요!

뽕리뽕뽕님의 프로필 이미지
뽕리뽕뽕
질문자

설치버전은 동일한 버전으로 하였지만.. 에러도 동일합니다 .....

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

안녕하세요! 뽕리뽕뽕님!

답변이 늦어 죄송합니다!
apollo 버전을 위와 동일하게 3버전으로 진행하였음에도 불구하고 에러가 발생하셨군요..!

확인을 해보니, 추가로 한가지 또 다른 버전 문제가 있었어요!
보내주신 에러코드를 읽어보면 strip-ansi 라는 라이브러리에서 문제가 발생했다고 하네요!
따라서, strip-ansi의 버전이 어떻게 되는지 yarn.lock 파일을 확인해 본 결과, strip-ansi의 문제라기보단, strip-ansi 와 함께 사용되는 string-width 라는 라이브러리의 5버전에서 충돌이 일어난 것 같습니다!
따라서, string-width라는 라이브러리의 버전을 4버전대(수업에서는 4.2.3)로 맞춰 주시길 부탁드립니다!

image

하지만, 한 가지 궁금한 점이 있으실 텐데요...!
package.json 파일을 확인해 보시면 string-width 라는 라이브러리는 우리가 직접 설치한 적이 없어요! 다시말해, 다른 라이브러리 내에서 설치된 라이브러리입니다!

이럴 경우, "하위 라이브러리에서 설치하고있는 string-width라는 라이브러리의 버전을 4.2.3으로 해줘!" 라고 하시는 방법은 아래와 같이 resolutions 라는 옵션을 사용하시면 됩니다!

image

위와 같이 설정해 주시고, node_modules와 yarn.lock을 반드시 지워주시고 다시 yarn install 후 docker를 빌드해서 사용하시면 됩니다!
(혹시라도, 만약 docker-compose build시 문제가 발생하면 위 문제와는 별개의 또 다른 nestjs 버전 문제이므로 해결 방법을 추가로 알려드리겠습니다!!)