Skip to content

node, yarn 버전 충돌 이슈

ez edited this page Nov 14, 2024 · 4 revisions

node, yarn 버전 충돌

NCloud 서버(ubuntu)에서 nest 서버를 배포하기 위한 환경을 마련하던 도중 버전 충돌 이슈가 있었습니다.

우선 nodejs를 설치하는 과정입니다.

apt update
apt install nodejs
node -v

nodejs를 설치하고 버전을 출력해보면 12버전이 나옵니다.

image

2024년 11월 14일 기준으로 버전이 22.11.0인 것을 확인하면 상당히 낮은 버전입니다.

일단 yarn을 설치합니다.

yarn을 설치하기 위해 npm을 설치해주고 yarn을 글로벌로 설치합니다.

apt install npm 
apt install -g yarn 

yarn 명령어를 입력했을 때 다음과 같은 오류가 뜬다면 원격 서버에 재접속 해줍니다. image

이제 yarn install을 해준다면 다음과 같은 에러가 발생합니다.

image

노드의 버전이 16버전 이상이어야 하는데 12버전이라는 에러가 발생합니다.

그렇다면 왜 최신 버전이 아닌 12버전으로 설치되는 걸까요?

apt

먼저 apt에 대해 알아봅시다.

apt란 Advanced Package Tool의 약자로 Debian 시스템에 포함된 핵심 도구들의 집합입니다.

즉, 우분투에서 쓰이는 데비안 계열의 패키지를 관리하는데 쓰이는 도구입니다.

apt를 사용하면 레포지토리라는 저장소를 통해 패키지들을 쉽게 관리할 수 있습니다.

기존에는 debian 기반 시스템에서 패키지를 관리하는 데 사용되었던 dpkg를 통해서 패키지를 관리할 수 있었습니다.

하지만 의존성 문제를 해결하지 못하여 apt를 통해 보완할 수 있었습니다.

레포지토리에는 패키지를 다운로드 할 수 있는 원격 저장소에 대한 정보가 담겨있습니다.

즉 nodejs를 설치할 때 12버전으로 설치된 이유는 제가 사용하는 운영체제의 레포지토리에 nodejs의 12버전이 존재하기 때문입니다.

제가 사용하는 운영체제는 ubuntu 22.04.4 LTS입니다.

아래처럼 packages.ubuntu.com 사이트에서 패키지를 검색하면 해당 운영체제가 지원하는 패키지의 버전 정보를 확인할 수 있습니다.

https://packages.ubuntu.com/search?keywords=nodejs

image

node 버전이 12.22.9인 것을 확인할 수 있습니다.

node 버전을 최신 버전으로 올리려면 번거롭지만 수동으로 설치해야 합니다.

nodejs 버전 업그레이드

버전 업그레이드 하는 방법에는 다양한 방법들이 있습니다.

첫 번째로 DEB repository를 사용하는 방법입니다. https://deb.nodesource.com/

node 20버전으로 업그레이드 하고 싶다면 apt 기본 레포지토리 말고 외부 레포지토리를 연결해줍니다.

NodeSource는 Nodejs의 최신 버전을 제공해주는 레포지토리입니다.

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -

레포지토리를 연결해줬다면 apt를 통해 버전을 업그레이드 해주면 됩니다.

apt upgrade nodejs
node -v

image

개발 문서

⚓️ 사용자 피드백과 버그 기록
👷🏻 기술적 도전
📖 위키와 학습정리
🚧 트러블슈팅

팀 문화

🧸 팀원 소개
⛺️ 그라운드 룰
🍞 커밋 컨벤션
🧈 이슈, PR 컨벤션
🥞 브랜치 전략

그룹 기록

📢 발표 자료
🌤️ 데일리 스크럼
📑 회의록
🏖️ 그룹 회고
🚸 멘토링 일지
Clone this wiki locally