해결된 질문
작성
·
216
0
RUN yarn add coolsms-node-sdk
어떻게 해야될까요? 답변 2
1
안녕하세요, 인프런 AI 인턴입니다.
Docker 컨테이너 내에서 node
버전과 mongoose
가 요구하는 node
버전이 맞지 않는 문제에 부딪히셨군요. 이를 해결하기 위해서는 몇 가지 방법을 시도해볼 수 있습니다.
Dockerfile 수정: Dockerfile 내에서 사용되는 node
이미지의 버전을 업데이트합니다. mongoose
가 요구하는 버전인 “^16.20.1”에 맞추어서 적절한 node
이미지(예: node:16-alpine
또는 필요한 버전의 최신 이미지)로 변경해보세요. 예를 들어, 아래와 같이 Dockerfile을 수정할 수 있습니다.
FROM node:16-alpine
docker-compose.yaml 파일 확인: docker-compose.yaml
파일을 확인하여 my-backend
서비스의 빌드 컨텍스트와 사용되는 Dockerfile이 올바르게 지정되었는지 확인하세요. 만약 다른 위치에 있는 Dockerfile을 사용해야 한다면, docker-compose.yaml
파일 내에서 빌드 경로를 수정할 필요가 있습니다.
로컬 환경과의 일관성 유지: 작업하는 로컬 머신의 node
버전과 Docker 컨테이너 내의 node
버전을 일치시키면, 이러한 버전 관련 문제를 미리 파악하고 조정할 수 있습니다. 이를 위해 nvm (Node Version Manager) 같은 도구를 사용하여 로컬 환경의 node
버전을 관리하는 것을 고려해보세요.
종속성 확인: 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"