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

장주윤님의 프로필 이미지

작성한 질문수

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

mongoDB접속 관련 문의

해결된 질문

작성

·

249

0

04-05 ODM - mongoDB접속 강의에서 docker-compose build했을 때

> [mybackend 5/6] RUN yarn install:

0.132 yarn install v1.22.19

0.150 [1/4] Resolving packages...

0.176 [2/4] Fetching packages...

3.678 error mongoose@8.1.0: The engine "node" is incompatible with this module. Expected version ">=16.20.1". Got "14.21.3"

3.678 error Found incompatible module.

3.678 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

------

failed to solve: process "/bin/sh -c yarn install" did not complete successfully: exit code: 1

위와 같이 오류가 떠요. node버전이 mongoose버전과 맞지 않다고 하는데 기존 node를 삭제하고 오류에서 말한 16.20.1버전으로 새로 설치해야하는 건가요? 재 설치하면 기존에 학습했던 코드들에 영향을 받진 않나요?

답변 2

1

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

에러 메시지를 보면 현재 사용 중인 Node.js 버전(14.21.3)이 mongoose 요구 버전(>=16.20.1)보다 낮아서 생기는 호환 문제로 보입니다. Node.js의 새 버전을 설치해야 할 필요가 있습니다. 기존 Node.js를 삭제하지 않고도 버전 관리 도구를 사용하여 여러 버전의 Node.js를 설치하고 관리할 수 있습니다. 예를 들면, nvm 또는 n 같은 Node Version Manager를 사용할 수 있습니다.

Node.js의 버전을 업그레이드한다고 해서 기존에 작성한 코드가 영향을 받을 가능성은 있습니다. 하지만 대부분의 경우 더 높은 버전은 하위 호환성을 지키려고 노력하기 때문에 문제가 되지 않을 수 있습니다. 그러나 안전을 위해 업그레이드 전에 기존 프로젝트의 코드를 백업하고, 업그레이드 후에 프로젝트를 테스트하여 모든 기능이 정상적으로 작동하는지 확인하는 것이 좋습니다.

업그레이드 과정에서 발생할 수 있는 문제를 방지하기 위해 기존에 학습한 프로젝트에 Node.js의 새 버전이 올바르게 적용되었는지 확인해 보시기 바랍니다.

부디 문제 해결에 도움이 되길 바랍니다.

장주윤님의 프로필 이미지
장주윤
질문자

넵 답변 감사합니다~!!

0

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

안녕하세요! 주윤님!

해당 문제는 node 버전과 관련된 문제가 맞아요!
따라서, mongoose의 버전을 낮추는 방법 또는 Node의 버전을 높이는 방법 등이 필요합니다!

 

docker에서 다운로드 받는 node의 버전을 올리기 위해서는,

Dockerfile 에서 FROM node:14 부분을 FROM node:18 등과 같이 변경해 보세요!^^

장주윤님의 프로필 이미지
장주윤
질문자

넵 감사합니다. 덕분에 문제 해결했습니다!