Node.js 설치를 윈도우 공식 인스톨러, 맥과 리눅스의 nvm·Homebrew로 나눠 정리합니다. LTS와 최신 버전 선택 기준, nvm으로 여러 버전을 전환하는 방법, node -v / npm -v 설치 확인, 윈도우 PATH 누락과 npm 전역 설치 EACCES 권한 오류 같은 흔한 실패까지 실제 명령어와 함께 다룹니다. 2026년 6월 기준 Node.js 24 LTS와 26 Current 정보 반영.
한 줄 핵심: 운영체제별로 설치 방법이 다르지만, 맥과 리눅스라면 nvm으로, 윈도우라면 공식 인스톨러 또는 nvm-windows로 설치한 뒤 node -v · npm -v가 같이 찍히는지 확인하면 끝입니다. 버전은 처음 배우는 단계든 실서비스든 LTS(현재 24.x)를 고르면 됩니다.
저는 Next.js와 슈퍼베이스로 사이트 여러 개를 굴리면서 Node.js 버전을 프로젝트마다 다르게 써야 할 때가 많습니다. 그래서 설치 자체보다 "버전을 어떻게 갈아끼우느냐"가 더 중요하다고 느꼈습니다. 이 글은 단순 다운로드 클릭이 아니라, 처음 설치한 사람이 두 번째 프로젝트에서 버전 충돌로 막히지 않도록 nvm 중심으로 정리했습니다. 윈도우 PATH 누락과 npm 전역 설치 권한 오류(EACCES)처럼 실제로 자주 막히는 케이스도 원인과 해결을 같이 담았습니다.
어떤 버전을 깔아야 하나 — LTS vs 최신
설치 화면에서 가장 먼저 만나는 갈림길이 버전 선택입니다. Node.js는 두 갈래로 배포됩니다.
LTS(Long Term Support): 장기 지원판. 짝수 버전만 LTS가 되며, 안정성과 보안 패치가 길게 보장됩니다. 처음 배우는 사람부터 실서비스 운영까지 기본값입니다.
Current(최신): 최신 기능이 가장 먼저 들어오는 버전. 새 API를 시험하거나 라이브러리 호환성을 미리 테스트할 때만 권장됩니다.
2026년 6월 기준 상황을 정리하면 아래와 같습니다. Node.js 공식 릴리스 페이지를 그대로 옮긴 값입니다.
버전
코드네임
상태
비고
Node.js 26
-
Current(최신)
2026년 5월 5일 출시, 2026년 10월 LTS 승격 예정
Node.js 24
Krypton
Active LTS
지금 가장 권장하는 안정판
Node.js 22
Jod
Maintenance LTS
기존 프로젝트 유지보수용
LTS 라인은 출시 후 총 30개월간 중요한 버그·보안 수정을 받습니다. 그래서 결론은 단순합니다. 특별한 이유가 없으면 Active LTS인 24.x를 설치하세요. 새 기능을 미리 만져봐야 하는 상황에서만 26.x(Current)를 고르면 됩니다.
ⓒ OpenJS Foundation
윈도우 설치 — 공식 인스톨러 방식
윈도우에서 가장 단순한 방법은 공식 사이트의 인스톨러(.msi)입니다.
nodejs.org/en/download에 접속해 Windows Installer(.msi)의 LTS 버튼을 누릅니다. CPU가 거의 다 64비트이므로 x64를 받으면 됩니다.
받은 .msi를 실행하고 설치 마법사를 진행합니다. 기본 옵션 그대로 두면 됩니다.
중간에 "Add to PATH" 항목이 체크돼 있는지 꼭 확인하세요. 이게 빠지면 설치는 됐는데 터미널에서 node 명령을 못 찾는 사고가 납니다(아래 트러블슈팅 참고).
설치가 끝나면 새 PowerShell 또는 명령 프롬프트를 새로 열어서 버전을 확인합니다. 이미 열려 있던 창은 PATH 변경이 반영되지 않습니다.
인스톨러는 Node.js 본체와 npm을 함께 설치합니다. 별도로 npm을 깔 필요는 없습니다.
윈도우 설치 확인 (PowerShell)
# 새 PowerShell 창을 열고 실행
node -v
# v24.x.x 형태로 출력되면 성공
npm -v
# 11.x.x 형태로 npm 버전이 함께 출력되면 정상
여러 프로젝트에서 Node.js 버전을 자주 바꿔야 한다면, 윈도우에서도 공식 인스톨러 대신 버전 관리 도구를 쓰는 편이 낫습니다. 윈도우용은 coreybutler가 만든 nvm-windows가 사실상 표준입니다. 맥·리눅스의 nvm과는 다른 프로젝트라는 점만 기억하세요.
GitHub의 nvm-windows 릴리스 페이지에서 nvm-setup.exe를 받아 설치합니다.
설치 전에 기존 공식 인스톨러로 깐 Node.js가 있다면 먼저 제거하는 것이 충돌을 줄입니다.
명령 자체는 맥·리눅스 nvm과 거의 같습니다. nvm install, nvm use로 버전을 깔고 전환합니다.
nvm-windows 사용 예시
# 관리자 권한 PowerShell에서
nvm install lts # 최신 LTS(24.x) 설치
nvm install 22 # 특정 메이저 버전 설치
nvm list # 설치된 버전 목록
nvm use 24 # 24.x로 전환
node -v # 전환 확인
맥 설치 — nvm 권장, Homebrew는 보조
맥(macOS)에서는 nvm을 1순위로 권장합니다. 이유는 명확합니다. Homebrew로 설치하면 Node.js가 시스템 경로(/opt/homebrew 또는 /usr/local)에 들어가서, 프로젝트마다 다른 버전을 쓰기 어렵고 npm 전역 설치 시 권한 문제가 생기기 쉽습니다. nvm은 모든 것을 사용자 홈 디렉터리(~/.nvm) 안에 넣기 때문에 권한 사고가 거의 없습니다.
아래 명령은 nvm 공식 저장소 README의 최신 설치 스크립트(v0.40.5 기준)입니다. 버전 숫자는 시간이 지나면 올라가니, 막히면 공식 GitHub에서 최신 줄을 확인하세요.
맥/리눅스 공통 — nvm 설치
# nvm 설치 스크립트 실행 (curl)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
# curl이 없으면 wget으로
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
설치 스크립트는 ~/.nvm에 nvm을 받고, 셸 프로파일 파일(~/.zshrc, ~/.bashrc, ~/.bash_profile, ~/.profile 중 맞는 것)에 nvm을 불러오는 줄을 자동으로 추가합니다. 최신 맥은 기본 셸이 zsh이므로 보통 ~/.zshrc가 수정됩니다.
설치 직후에는 현재 터미널이 변경된 프로파일을 아직 읽지 못한 상태입니다. 터미널을 새로 열거나 프로파일을 다시 로드한 뒤 nvm 명령을 실행하세요. 이걸 안 하면 "command not found: nvm" 메시지가 나옵니다.
nvm으로 Node.js 설치·전환 (맥/리눅스)
# 현재 터미널에 프로파일 다시 로드 (zsh 기준)
source ~/.zshrc
nvm install --lts # 최신 LTS(24.x) 설치
nvm install 22 # 특정 버전도 추가 설치 가능
nvm use --lts # LTS로 전환
nvm alias default 24 # 새 터미널 기본 버전 고정
node -v && npm -v # 두 줄이 같이 찍히면 성공
nvm 설치가 부담스럽고 단일 버전만 쓸 거라면 Homebrew도 선택지입니다. 다만 위에서 말한 한계를 알고 쓰세요.
Homebrew로 설치 (단일 버전용)
brew install node # 최신 Current 설치
brew install node@24 # LTS 메이저 버전 지정 설치
node -v
ⓒ OpenJS Foundation
리눅스 설치 — nvm 또는 패키지 매니저
리눅스(우분투·데비안 등)에서도 1순위는 nvm입니다. 설치 명령은 위 맥 섹션의 nvm 스크립트와 동일합니다. POSIX 셸이면 그대로 동작합니다.
패키지 매니저(apt)로도 깔 수 있지만, 배포판 기본 저장소의 Node.js는 버전이 한참 오래된 경우가 많습니다. 그래서 패키지 방식을 쓸 거면 NodeSource 같은 공식 안내 저장소를 추가하거나, 처음부터 nvm을 쓰는 편이 안전합니다.
nvm 방식: 권한 문제 없음, 여러 버전 전환 자유로움. 개발 환경 1순위.
apt 방식: 서버에서 단일 버전을 시스템 전역에 고정할 때. 단, 기본 저장소 버전이 낮으면 LTS가 아닐 수 있으니 버전을 꼭 확인.
리눅스 — nvm 설치 후 LTS 설치
# nvm 설치 (맥과 동일)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
source ~/.bashrc # bash 사용 시
nvm install --lts # 최신 LTS 설치
node -v # 버전 확인
어떤 방법으로 깔았든 설치 검증은 동일합니다. 두 명령이 모두 버전을 출력해야 정상입니다.
node -v → v24.x.x 형태. Node.js 본체 버전.
npm -v → 11.x.x 형태. Node.js에 함께 들어오는 패키지 매니저 버전.
npx -v → npx도 같이 설치됩니다. 일회성 실행 도구라 확인까지 해두면 좋습니다.
여기서 node -v는 되는데 npm -v가 안 되거나, 반대 상황이라면 PATH가 꼬였을 가능성이 큽니다. 또 nvm을 쓰는데 node -v 버전이 내가 nvm use로 고른 버전과 다르면, 시스템에 따로 깔린 Node.js가 우선순위를 먹고 있는 것입니다. 이때는 which node(맥/리눅스) 또는 where node(윈도우)로 실제 실행 경로를 확인하세요.
어떤 node가 실행되는지 추적
# 맥/리눅스
which node
# /Users/me/.nvm/versions/node/v24.x.x/bin/node 처럼 .nvm 경로면 정상
# 윈도우 (PowerShell)
where node
흔한 실패 — PATH 누락과 EACCES 권한 오류
설치 글에서 가장 중요한 부분입니다. 제가 실제로 자주 막혔던, 그리고 개발자 커뮤니티 질문에 꾸준히 올라오는 두 가지를 케이스·원인·해결 순서로 정리합니다.
케이스 1 — 윈도우에서 "node은(는) 내부 또는 외부 명령... 이 아닙니다"
원인: 설치 마법사에서 "Add to PATH"가 빠졌거나, 설치 후 기존에 열려 있던 터미널을 그대로 써서 PATH 변경이 반영되지 않은 경우.
해결 1: 모든 터미널 창을 닫고 새로 엽니다. 대부분 이걸로 해결됩니다.
해결 2: 그래도 안 되면 인스톨러를 다시 실행해 "Modify"로 PATH 추가 옵션을 켜거나, 시스템 환경 변수 PATH에 Node.js 설치 경로(보통 C:\Program Files\nodejs\)를 직접 추가합니다.
케이스 2 — npm 전역 설치 시 EACCES: permission denied
원인: npm install -g가 /usr/local/lib/node_modules 같은 root 소유 디렉터리에 쓰려다 권한이 막히는 경우입니다. 맥과 리눅스에서만 거의 발생하며, 윈도우는 전역 경로가 사용자 AppData 안이라 이 오류가 잘 안 납니다.
가장 깔끔한 해결: 애초에 nvm으로 Node.js를 설치하면 모든 것이 홈 디렉터리(~/.nvm) 안에 들어가 이 오류 자체가 사라집니다. 그래서 이 글이 nvm을 1순위로 미는 것입니다.
nvm을 안 쓰는 경우: npm 전역 경로를 사용자 디렉터리로 바꿔주면 됩니다. npm config set prefix ~/.local 후 PATH에 ~/.local/bin을 추가하세요.
하면 안 되는 것: sudo npm install -g로 권한을 강제로 뚫는 방식. 당장은 되지만 이후 권한이 꼬여 더 큰 문제를 만듭니다. npm 공식 문서도 sudo 사용을 권하지 않습니다.
EACCES 회피 — npm 전역 경로를 홈으로
# nvm을 안 쓰는 환경에서 권한 오류를 피하는 설정
mkdir -p ~/.local
npm config set prefix ~/.local
# PATH에 추가 (zsh 예시)
echo 'export PATH=~/.local/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
# 이제 sudo 없이 전역 설치 가능
npm install -g typescript
ⓒ OpenJS Foundation
참고 자료
이 글의 버전·설치 정보는 아래 공식 문서를 근거로 했습니다. 버전 숫자와 nvm 스크립트 버전은 시간이 지나면 바뀌므로, 실제 설치 직전에 공식 페이지에서 최신 값을 한 번 더 확인하는 것을 권합니다.
네. 공식 인스톨러, nvm, Homebrew, apt 어느 방법으로 설치하든 npm은 Node.js에 기본 포함되어 함께 설치됩니다. 별도로 npm만 따로 깔 필요가 없습니다. 설치 후 node -v와 npm -v가 둘 다 버전을 출력하면 정상입니다. 다만 npm 자체를 최신으로 올리고 싶다면 npm install -g npm@latest로 업데이트할 수 있습니다.
LTS와 최신(Current) 중 뭘 골라야 하나요?
특별한 이유가 없으면 LTS입니다. 2026년 6월 기준 Active LTS는 Node.js 24(Krypton)입니다. LTS는 출시 후 총 30개월간 보안·버그 수정을 받아 실서비스와 학습 모두에 안전합니다. 최신(Current, 현재 26.x)은 새 API를 미리 시험하거나 라이브러리 호환성을 앞서 테스트할 때만 권장됩니다.
이미 Node.js가 깔려 있는데 nvm을 쓰려면 기존 걸 지워야 하나요?
꼭 지울 필요는 없지만, 지우는 편이 혼란을 줄입니다. 시스템에 별도로 설치된 Node.js가 PATH 우선순위에서 nvm 버전을 앞설 수 있기 때문입니다. which node(맥/리눅스)나 where node(윈도우)로 실제 어떤 경로의 node가 실행되는지 확인하고, nvm 경로(~/.nvm/...)가 아니라면 기존 설치를 제거한 뒤 새 터미널을 여는 것이 깔끔합니다.
npm install -g에서 EACCES 오류가 나는데 sudo로 해도 되나요?
권하지 않습니다. sudo npm install -g는 당장은 되지만 파일 소유권이 root로 꼬여 이후 더 큰 권한 문제를 만듭니다. 가장 깔끔한 해법은 nvm으로 Node.js를 다시 설치하는 것입니다. nvm은 모든 파일을 홈 디렉터리에 두어 권한 오류 자체가 사라집니다. nvm을 안 쓴다면 npm config set prefix ~/.local로 전역 경로를 사용자 디렉터리로 바꾸세요.
윈도우에서 node 명령을 못 찾는다고 나옵니다. 왜 그런가요?
대부분 PATH 문제입니다. 설치 마법사에서 "Add to PATH" 옵션이 빠졌거나, 설치 전부터 열려 있던 터미널을 그대로 쓰면 변경된 PATH가 반영되지 않습니다. 먼저 모든 터미널 창을 닫고 새로 열어 보세요. 그래도 안 되면 인스톨러를 다시 실행해 PATH 추가 옵션을 켜거나, 시스템 환경 변수 PATH에 C:\Program Files\nodejs\를 직접 추가하면 됩니다.
프로젝트마다 Node.js 버전이 다른데 어떻게 관리하나요?
nvm(맥/리눅스) 또는 nvm-windows(윈도우)를 쓰면 됩니다. nvm install로 여러 버전을 깔아두고 nvm use 22처럼 필요할 때 전환합니다. 프로젝트 루트에 .nvmrc 파일을 만들어 버전을 적어두면 그 디렉터리에서 nvm use만 쳐도 해당 버전으로 자동 전환되어, 협업이나 여러 사이트 운영 시 버전 충돌을 크게 줄일 수 있습니다.