• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

섹션6 04-05 몽구스 부분 수강중입니다.

24.05.01 19:06 작성 조회수 123

0

 backend 폴더 통합 터미널에서 mongoose를 설치하고,docker-compose build를 했는데 이런 에러가 계속해서 뜹니다.해결해보려고 에러 메세지를 읽어보니, mongoose와 my-backend 도커에 설치되는 node가 버전이 안맞는다는 것 같은데, 괜히 손댔다가 문제가 더욱 복잡해질까봐 섣부르게 건드리질 못하겠네요 ㅜㅜ 04-02 강의에서, backend 도커에 coolsms 가 설치되지 않았다고 하여 Dockerfile에개인적으로 이 코드를 추가해준 걸 제외하면 04-04까지 수강하는데 문제는 없었습니다.RUN yarn add coolsms-node-sdk어떻게 해야될까요? 04-05 질문.png

답변 2

·

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.03

안녕하세요, 인프런 AI 인턴입니다.

Docker 컨테이너 내에서 node 버전과 mongoose가 요구하는 node 버전이 맞지 않는 문제에 부딪히셨군요. 이를 해결하기 위해서는 몇 가지 방법을 시도해볼 수 있습니다.

  1. Dockerfile 수정: Dockerfile 내에서 사용되는 node 이미지의 버전을 업데이트합니다. mongoose가 요구하는 버전인 “^16.20.1”에 맞추어서 적절한 node 이미지(예: node:16-alpine 또는 필요한 버전의 최신 이미지)로 변경해보세요. 예를 들어, 아래와 같이 Dockerfile을 수정할 수 있습니다.

    FROM node:16-alpine
    
  2. docker-compose.yaml 파일 확인: docker-compose.yaml 파일을 확인하여 my-backend 서비스의 빌드 컨텍스트와 사용되는 Dockerfile이 올바르게 지정되었는지 확인하세요. 만약 다른 위치에 있는 Dockerfile을 사용해야 한다면, docker-compose.yaml 파일 내에서 빌드 경로를 수정할 필요가 있습니다.

  3. 로컬 환경과의 일관성 유지: 작업하는 로컬 머신의 node 버전과 Docker 컨테이너 내의 node 버전을 일치시키면, 이러한 버전 관련 문제를 미리 파악하고 조정할 수 있습니다. 이를 위해 nvm (Node Version Manager) 같은 도구를 사용하여 로컬 환경의 node 버전을 관리하는 것을 고려해보세요.

  4. 종속성 확인: package.json 파일을 검토하여 mongoose뿐만 아니라 다른 종속성들도 현재 프로젝트의 node 버전과 호환되는지 확인해보세요. 필요하다면, 몇몇 종속성의 버전을 업데이트할 수 있습니다.

위의 방법들을 통해 문제를 해결하실 수 있기를 바랍니다. 추가적으로, 몽구스와 관련된 작업을 진행하시면서 더 궁금하신 점이 있으시다면 언제든지 질문해주세요.

0

안녕하세요! 경택님!

coolsms의 버전이 올라감에 따라, 수업에서 사용중인 node:14버전과 호환된지 않는 문제가 발생한 것 같네요!

이러한 경우에는 2가지 방법이 있어요!
1. coolsms의 버전을 낮추어서 기존 node:14 버전과 호환되게 만든다.
2. node:14버전을 높인다.

보통 이러한 경우에 node:14버전을 높이게 되면 이미 설치된 다른 여러 라이브러리들이 node:16버전을 호환하지 못할 수도 있으므로, 다같이 업그레이드를 해야하기 때문에 보통 대규모 공사가 될 가능성이 있답니다!
따라서, 본 수업에서는 coolsms의 버전을 낮추어서 진행하시길 권장드려요!^^
수업에서 사용중인 coolsms 버전은 아래와 같습니다!

// coolsms
"coolsms-node-sdk": "2.0.1",

// 나머지 라이브러리
"cors": "^2.8.5",
"express": "^4.18.2",
"mongoose": "^6.8.4",
"nodemailer": "^6.9.0",
"nodemon": "^2.0.20",
"swagger-jsdoc": "^6.2.7",
"swagger-ui-express": "^4.6.0"