1. 소개: Ubuntu에서 Node.js를 사용하는 이유
Ubuntu와 Node.js 간의 뛰어난 호환성
Node.js는 서버 측에서 JavaScript를 실행하기 위한 플랫폼으로, 웹 애플리케이션 및 도구 개발에 널리 사용됩니다. Ubuntu는 많은 개발자와 서버 관리자가 신뢰하는 Linux 배포판입니다. 이 두 가지를 결합하면 안정성, 유연성, 속도가 뛰어난 개발 환경을 구축할 수 있습니다.
Ubuntu에 Node.js를 설치하면 다음과 같은 장점이 있습니다:
- 최소한의 오버헤드로 가벼운 OS, 시스템 자원을 효율적으로 사용
- 개발부터 테스트, 프로덕션까지 일관된 Linux 기반 환경
- Node.js와 높은 호환성 및 npm, nvm 같은 도구와 원활한 통합
이러한 이유로 Ubuntu와 Node.js의 조합은 프론트엔드와 백엔드 작업 모두에 매력적인 개발 환경입니다.
대상 독자 및 본 문서의 목적
이 문서는 다음과 같은 독자를 위해 작성되었습니다:
- Ubuntu에서 처음으로 Node.js를 사용하려는 사람
- 어떤 설치 방법이 가장 좋은지 알고 싶은 사람
- 최신 Node.js 버전을 사용하고 싶지만 설정 방법이 확실하지 않은 사람
이 문서를 읽으면 Ubuntu에서 세 가지 다른 Node.js 설치 방법을 비교하고 목표와 실력 수준에 맞는 최적의 방법을 선택할 수 있습니다. 또한 npm 및 yarn과 같은 관련 도구와 흔히 발생하는 오류 해결 방법도 다루어, Node.js 환경을 자신 있게 사용할 수 있도록 돕습니다.
2. Ubuntu에서 Node.js 설치 방법 개요
각각의 특성을 가진 세 가지 설치 방법
Ubuntu에서 Node.js를 설치하는 주요 방법은 다음 세 가지입니다:
- APT(Advanced Package Tool)를 통한 표준 패키지 설치
- NodeSource PPA(Personal Package Archive)를 통한 설치
- nvm(Node Version Manager)를 사용한 유연한 버전 관리
각 방법은 장단점이 있으며, 최적의 선택은 사용 사례와 시스템 구성에 따라 달라집니다. 아래 표는 각 방법의 특성을 요약한 것입니다.
Node.js 설치 방법 비교 표
| Installation Method | Main Features | Advantages | Disadvantages | Recommended For |
|---|---|---|---|---|
| APT (Default) | Uses Ubuntu’s official repository | Simple and safe | Version may be outdated | Beginners who want to try quickly |
| NodeSource PPA | Manages newer Node.js versions via APT | Relatively up-to-date versions | Requires adding a PPA | Developers who want a stable recent version |
| nvm | Supports switching between multiple versions | Highly flexible and ideal for development | Requires shell configuration | Recommended for learning and development |
비교가 중요한 이유
Ubuntu는 안정성을 우선시하기 때문에 APT 저장소의 소프트웨어 버전은 보수적인 편입니다. 따라서 최신 Node.js 기능을 사용하거나 여러 버전을 테스트해야 하는 사용자는 APT 외의 옵션을 고려해야 합니다.
반면, Node.js를 빠르게 시도하거나 프로덕션 서버에서 추가 설정 없이 사용하고 싶다면 APT 방법으로 충분할 수 있습니다.
어떤 방법을 선택해야 할까요?
결론적으로, 장기적으로 Node.js를 사용할 계획이 있는 개발자라면 nvm을 통한 설치가 가장 권장되는 방법입니다. 그 이유는 다음과 같습니다:
- 최신 버전과 이전 버전 간의 손쉬운 전환
- npm이 자동으로 설치됨
- 권한 문제가 적음 (sudo 필요 없음)
3. 방법 ①: APT(우분투 공식)로 Node.js 간편 설치
APT란? Ubuntu의 표준 패키지 관리 시스템
APT(Advanced Package Tool)는 Ubuntu 및 기타 Debian 기반 Linux 배포판에서 사용하는 표준 패키지 관리 시스템입니다. APT를 사용하면 단일 명령으로 소프트웨어를 쉽게 설치, 업데이트 및 제거할 수 있습니다.
Ubuntu 공식 저장소에는 Node.js 패키지가 포함되어 있어 특별한 준비 없이 바로 Node.js를 설치할 수 있습니다.
설치 단계
- APT 패키지 목록 업데이트.
sudo apt update
- Node.js와 npm 설치.
sudo apt install nodejs npm
- 설치 확인.
node -v npm -v
버전 정보가 표시되면 설치가 성공한 것입니다.
장점: 간단하고 안전함
- 공식 Ubuntu 저장소를 사용하므로 신뢰성이 높음
- 초보자도 쉽게 따라 할 수 있는 간단한 명령
- APT를 통한 시스템 업데이트와 연동됨
.
단점: 버전이 오래될 수 있음
APT는 안정성을 우선시하기 때문에 사용 가능한 Node.js 버전이 여러 세대 뒤일 수 있습니다.
예를 들어 Ubuntu 22.04에서는 APT를 통해 설치되는 Node.js 버전이 12 또는 14일 수 있으며, 이는 최신 기능 및 보안 개선 사항이 포함되지 않을 수 있음을 의미합니다.
여러 프로젝트에서 서로 다른 Node.js 버전을 사용해야 하는 경우에도 이 방법은 적합하지 않습니다.
이 방법이 가장 적합한 대상
- Node.js를 바로 사용해보고 싶은 초보자
- 안정적인 버전이면 충분한 프로덕션 환경
- 여러 Node.js 버전이 필요 없는 사용자
4. 방법 ②: NodeSource PPA로 최신 버전 설치
NodeSource란?
NodeSource는 공식 Node.js 팀과는 별도로 안정적이고 최신 Node.js 버전을 빠르게 제공하는 신뢰받는 공급자입니다. APT를 계속 사용하면서 최신 Node.js 버전을 설치하고자 하는 Ubuntu 및 Debian 사용자에게 특히 유용합니다.
이 방법은 공식 Node.js 웹사이트에서도 권장되며 기업 환경에서도 널리 사용됩니다.
설치 단계 (예시: Node.js 18.x)
- 패키지 목록을 업데이트합니다.
sudo apt update
- curl이 아직 설치되지 않은 경우 설치합니다.
sudo apt install curl
- NodeSource 설정 스크립트를 실행합니다.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- Node.js를 설치합니다.
sudo apt install -y nodejs
- 설치를 확인합니다.
node -v npm -v
장점: APT로 최신 버전 사용
- 최신 안정 버전 Node.js를 손쉽게 설치
- 익숙한 APT 기반 관리
- npm이 자동으로 설치
단점: PPA 추가 필요
- 표준 APT 설치보다 약간 더 많은 단계
- 소스의 신뢰성을 평가해야 함 (NodeSource는 일반적으로 안전함)
이 방법이 가장 적합한 대상
- 안정적이면서 최신 Node.js 버전을 원하는 개발자
- Ubuntu 저장소가 부족하다고 느끼지만 nvm을 사용하고 싶지 않은 사용자
- 중앙 집중식 APT 기반 패키지 관리를 유지하고 싶은 사람
5. 방법 ③: nvm을 이용한 유연한 버전 관리 (추천)
nvm이란? Node.js 버전 관리를 위한 강력한 도구
nvm (Node Version Manager) 은 여러 Node.js 버전을 관리하고 전환할 수 있게 해 주는 커맨드라인 도구입니다. 프로젝트마다 다른 버전이 필요하거나 최신 및 LTS 릴리스를 모두 테스트하고자 하는 개발자에게 특히 유용합니다.
nvm을 사용하면 시스템 전체에 Node.js를 설치하지 않고도 사용자 계정 내에서 완전한 유연한 개발 환경을 구축할 수 있습니다.

nvm 설치
- curl을 사용해 설치 스크립트를 실행합니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
- 쉘 설정 파일을 다시 로드합니다.
source ~/.bashrc
또는 Zsh를 사용하는 경우:
source ~/.zshrc
- nvm이 설치되었는지 확인합니다.
command -v nvm
nvm 이 표시되면 설치가 성공한 것입니다.
nvm으로 Node.js 설치
- LTS 버전을 설치합니다:
nvm install --lts
- 특정 버전을 설치합니다:
nvm install 18
- 활성 버전을 전환합니다:
nvm use 18
- 기본 버전을 설정합니다:
nvm alias default 18
- 버전을 확인합니다:
node -v npm -v
장점: 최대 유연성 및 제어
- 여러 버전을 동시에 보유하고 즉시 전환 가능
- npm이 자동으로 설치
- sudo가 필요 없어 권한 문제 감소
- 시스템 환경을 변경하지 않아 개발에 이상적
단점: 초기 설정에 주의 필요
- 쉘 설정 파일이 제대로 로드되지 않으면 nvm이 작동하지 않음
- 시스템 전체가 아니라 사용자별로 설치됨
이 방법이 가장 적합한 대상
.
- Node.js 버전을 전환해야 하는 개발자
- 서로 다른 요구 사항을 가진 여러 프로젝트를 관리하는 사용자
- 권한 관련 문제를 피하고 싶은 초보자
6. npm 및 yarn 사용하기
npm이란?
npm (Node Package Manager) 은 Node.js 패키지를 관리하기 위한 필수 도구입니다. 전 세계 개발자들이 배포한 라이브러리와 도구를 손쉽게 설치하고 관리할 수 있게 해줍니다.
Node.js를 APT, NodeSource 또는 nvm을 통해 설치하면 npm도 자동으로 설치되는 경우가 대부분입니다.
버전 확인하기:
npm -v
기본 npm 명령어
| Action | Command Example |
|---|---|
| Install a package | npm install <package-name> |
| Install globally | npm install -g <package-name> |
| Uninstall a package | npm uninstall <package-name> |
| Initialize a project | npm init or npm init -y |
| List packages | npm list or npm list -g |
yarn이란?
yarn 은 Facebook에서 개발한 npm의 대안으로, 더 빠르고 안정적인 패키지 관리를 목표로 합니다. 대부분의 명령어가 npm과 호환됩니다.
yarn 설치 (npm을 통해)
npm install -g yarn
설치 확인하기:
yarn -v
기본 yarn 명령어
| Action | Command Example |
|---|---|
| Install a package | yarn add <package-name> |
| Global install | yarn global add <package-name> |
| Uninstall a package | yarn remove <package-name> |
| Initialize a project | yarn init |
| List packages | yarn list or yarn global list |
npm vs yarn: 어느 것을 사용해야 할까?
| Comparison | npm | yarn |
|---|---|---|
| Standard | Included with Node.js | Requires installation |
| Speed | Standard | Faster with caching |
| Lock file | package-lock.json | yarn.lock |
| Compatibility | – | Mostly compatible |
현대 npm(v7 이상)은 크게 개선되었으므로 두 옵션 모두 일반적으로 문제없이 사용할 수 있습니다. 프로젝트나 팀에서 이미 사용하고 있는 도구를 따르는 것이 가장 좋습니다.
7. 일반적인 오류와 문제 해결
흔히 발생하는 문제와 해결 방법
■ node: command not found
원인:
Node.js가 올바르게 설치되지 않았거나 PATH가 설정되지 않았습니다. nvm을 설치한 뒤 셸 설정을 다시 로드하지 않으면 종종 발생합니다.
해결 방법:
- 셸 설정 파일을 다시 로드합니다:
source ~/.bashrc
- 문제가 지속되면 로그아웃 후 다시 로그인하거나 재부팅합니다
■ E: Unable to locate package nodejs
원인:
APT 패키지 목록이 오래되었거나 올바른 PPA가 추가되지 않았습니다.
해결 방법:
- APT 목록을 업데이트합니다:
sudo apt update
- NodeSource를 사용 중이라면 설정 스크립트를 다시 실행합니다
■ npm ERR! permission denied
원인:
전역 npm 패키지를 설치할 때 권한이 부족합니다.
해결 방법:
- sudo를 사용합니다(항상 권장되는 방법은 아닙니다):
sudo npm install -g <package-name>
- 권한 문제를 피하려면 nvm을 사용하는 것이 최선의 방법입니다
■ nvm: command not found
원인:
nvm은 설치되었지만 셸 설정이 로드되지 않았습니다.
해결 방법:
- 셸 설정 파일에 nvm을 소스하도록 설정합니다
- 수동으로 로드합니다:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
문제를 예방하기 위한 모범 사례
- 항상 PATH 설정을 확인합니다
- nvm을 사용하면 대부분의 환경 관련 문제를 회피할 수 있습니다
- Ubuntu와 Node.js 버전 간 호환성에 주의합니다
8. 자주 묻는 질문 (FAQ)
Q1. 내 Node.js 버전을 어떻게 확인하나요?
A. 터미널에서 다음 명령을 실행합니다:
node -v
npm 버전도 확인하려면:
npm -v
Q2. Ubuntu에서 여러 Node.js 버전을 어떻게 사용할 수 있나요?
A. nvm을 사용하는 것이 가장 쉽고 안전한 방법입니다. 설치 후 다음과 같이 버전을 전환할 수 있습니다:
nvm install 16
nvm use 16
Q3. nvm으로 설치한 Node.js가 활성화되지 않아요. 왜인가요?
A. 대부분 셸 설정 파일이 로드되지 않았기 때문입니다. 다음을 실행해 보세요:
source ~/.bashrc
또는 Zsh를 사용하는 경우:
source ~/.zshrc
Q4. npm과 yarn의 차이점은 무엇인가요?
A. 핵심 기능은 비슷하지만 yarn은 캐시를 활용한 빠른 설치와 yarn.lock을 통한 명시적 의존성 잠금을 제공합니다. 현대 npm도 크게 개선되었으므로 두 옵션 모두 잘 작동합니다.
Q5. Node.js, Deno, Bun은 어떻게 다른가요?
A. Deno와 Bun은 Node.js의 한계를 보완하기 위해 설계된 대체 런타임입니다.
- Deno : 기본 TypeScript 지원, 강화된 보안, 내장 표준 라이브러리
- Bun : 더 빠른 실행 속도와 내장 패키지 관리
하지만 Node.js는 방대한 npm 생태계 덕분에 여전히 가장 실용적인 선택입니다.
9. 결론: 필요에 맞는 설치 방법을 선택하세요
Ubuntu에 Node.js를 설치하는 여러 방법이 있으며, 각 방법은 명확한 장점과 사용 사례를 가지고 있습니다. 이 기사에서는 세 가지 대표적인 방법을 소개하고 가장 적합한 방법을 선택하는 방법을 설명했습니다.
APT (Ubuntu Official)
- 장점: 가장 쉽고 안전함
- 단점: 버전이 오래될 수 있음
- 추천 대상: 빠른 시작을 원하는 초보자
NodeSource PPA
- 장점: APT를 사용하면서 더 새로운 버전 설치 가능
- 단점: PPA 추가가 필요함
- 추천 대상: 안정적인 최근 버전을 원하는 개발자
nvm (Node Version Manager)
- 장점: 유연한 버전 전환과 깨끗한 환경
- 단점: 설정이 약간 복잡함
- 추천 대상: 여러 프로젝트를 다루는 개발자
이 가이드에서는 npm, yarn 및 일반적인 문제 해결 팁도 다루었습니다. Node.js 설치가 처음에는 복잡해 보일 수 있지만, 올바른 방법을 선택하면 Ubuntu에서 안정적인 개발 환경을 구축하기 쉽습니다.
프로젝트를 더 확장할 계획이라면, nvm을 기반으로 사용하면 팀 개발과 CI/CD 워크플로로 확장하는 데 도움이 됩니다.

