Mac 운영체제에서 Node.js 개발 환경을 구축하는 첫 단계는 바로 npm(Node Package Manager)을 설치하는 것입니다. npm은 전 세계 개발자들이 공유하는 방대한 Node.js 패키지 생태계를 활용할 수 있게 해주는 핵심 도구입니다. 이 가이드에서는 Mac 사용자를 위한 npm 설치의 가장 최신 정보와 더불어, 흔히 발생하는 설치 오류를 방지하고 해결하는 완벽한 방법을 안내합니다. 2025년 최신 환경에 맞춰 Homebrew를 사용한 가장 간편하고 안정적인 설치 방법부터, 환경 변수 설정과 필수 명령어 확인까지 모든 것을 다룹니다. 지금 바로 개발 환경을 구축하고 Node.js 프로젝트를 시작해 보세요.
📚 함께 읽으면 좋은 글
Node.js와 npm은 웹 프론트엔드와 백엔드를 아우르는 JavaScript 개발의 필수 요소입니다. 특히 React, Angular, Vue.js와 같은 최신 프레임워크를 사용하거나, Webpack, Babel 등의 빌드 도구를 사용하려면 npm 설치는 선택이 아닌 필수입니다. 많은 개발자가 설치 과정에서 권한 문제나 환경 변수 설정 문제로 어려움을 겪곤 합니다. 본 포스팅은 이러한 문제들을 사전에 방지할 수 있도록 가장 권장되는 설치 방식을 중심으로 설명합니다.
Homebrew를 이용한 npm 설치 최신 방법 확인하기
Mac에서 개발 도구를 설치하는 가장 권장되는 방법은 패키지 관리자인 Homebrew를 이용하는 것입니다. Homebrew는 복잡한 설치 과정을 단순화하고, 종속성 관리와 버전 업데이트를 쉽게 만들어 줍니다. 아직 Homebrew가 설치되어 있지 않다면, 아래 명령어를 터미널에 입력하여 먼저 설치해야 합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew 설치가 완료되었다면, Node.js와 npm을 설치하는 과정은 매우 간단합니다. Node.js를 설치하면 npm은 자동으로 함께 설치됩니다. 이는 Node.js 버전이 업데이트될 때마다 npm도 함께 관리할 수 있어 가장 안정적인 방법입니다.
brew install node
이 명령어를 실행하면 Homebrew는 Node.js의 최신 안정(LTS) 버전을 설치하며, 이에 포함된 npm도 자동으로 설치됩니다. 설치 후에는 정상적으로 설치되었는지 버전을 확인해 봅니다.
node -v npm -v
버전 정보가 출력된다면 설치가 성공적으로 완료된 것입니다. 이 방식은 Mac 환경에서 가장 널리 사용되고 안정성이 검증된 방법입니다.
nvm을 이용한 다중 Node 버전 관리 상세 더보기
여러 프로젝트를 진행하는 개발자라면 각 프로젝트마다 다른 Node.js 버전을 필요로 하는 경우가 많습니다. 이때 유용한 도구가 바로 nvm(Node Version Manager)입니다. nvm을 사용하면 Mac 한 대에서 여러 Node.js 버전을 손쉽게 설치하고 전환할 수 있으며, 각 버전에 맞는 npm도 함께 관리할 수 있습니다.
nvm 설치는 cURL 또는 Wget 명령어를 사용하며, 공식 GitHub 저장소에서 최신 설치 스크립트를 확인하여 실행하는 것이 좋습니다. 일반적으로 아래 명령어를 사용합니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
설치 후에는 터미널(zsh 또는 bash)의 설정 파일($HOME/.zshrc 또는 $HOME/.bash_profile)에 nvm 관련 환경 변수가 자동으로 추가되었는지 확인해야 합니다. 만약 추가되지 않았다면, nvm 설치 스크립트가 안내하는 대로 직접 추가하고 터미널을 다시 시작해야 합니다.
nvm이 정상적으로 설치되었다면, 아래 명령어를 통해 원하는 Node.js 버전을 설치하고 사용할 수 있습니다.
- 특정 버전 설치:
nvm install 18.17.1 - LTS 버전 설치:
nvm install --lts - 설치된 버전 확인:
nvm ls - 사용할 버전 선택:
nvm use 18.17.1
nvm을 사용하면 Node.js 버전뿐만 아니라 해당 버전에 종속된 npm 버전도 자동으로 관리되어, 다양한 환경에서 일관성 있는 개발을 할 수 있습니다. 이 방식은 Mac 개발 환경의 유연성을 극대화하는 데 큰 도움이 됩니다.
npm 설치 후 환경 변수 (PATH) 설정 확인하기
Node.js와 npm을 설치한 후, 시스템이 해당 명령어를 어디서 찾을 수 있는지 알려주는 것이 환경 변수, 특히 PATH 설정입니다. Homebrew나 nvm을 통해 설치했다면 대부분 자동으로 설정되지만, 수동으로 설치하거나 경로가 꼬였을 경우 문제가 발생할 수 있습니다.
Mac의 최신 버전은 기본 셸로 zsh를 사용합니다. 따라서 주로 설정해야 하는 파일은 $HOME/.zshrc입니다. bash를 사용하는 경우라면 $HOME/.bash_profile이나 $HOME/.bashrc 파일을 확인해야 합니다. 터미널에서 다음 명령어로 현재 PATH 환경 변수를 확인할 수 있습니다.
echo $PATH
npm 명령어가 위치한 디렉토리가 PATH에 포함되어 있어야 합니다. Homebrew 설치 시 경로는 일반적으로 /usr/local/bin 또는 M1/M2 Mac의 경우 /opt/homebrew/bin에 위치합니다. 이 경로들이 PATH에 포함되어 있는지 확인하고, 누락되었다면 다음과 같이 설정 파일에 추가해야 합니다.
export PATH="/opt/homebrew/bin:$PATH"
설정을 저장한 후에는 터미널에 source ~/.zshrc (또는 해당 셸 설정 파일) 명령어를 입력하여 변경 사항을 즉시 적용해야 합니다. PATH 설정이 올바르지 않으면 npm: command not found와 같은 오류 메시지가 출력됩니다.
가장 흔한 npm 설치 오류 권한 에러 해결 보기
npm 패키지를 전역(Global)으로 설치할 때 EACCES: permission denied와 같은 권한 오류를 만나는 경우가 매우 흔합니다. 이는 시스템 디렉토리에 파일을 쓰려고 할 때 발생하는 문제로, sudo를 사용하는 것은 보안상의 이유로 권장되지 않습니다. 가장 안전하고 권장되는 해결 방법은 npm의 기본 디렉토리를 사용자 소유의 디렉토리로 변경하는 것입니다.
npm 공식 문서에서 권장하는 해결책은 다음과 같습니다.
- npm이 사용할 전역 패키지 디렉토리를 홈 디렉토리 내에 생성합니다. (예:
~/.npm-global)mkdir ~/.npm-global - npm의 기본 전역 디렉토리 경로를 새로 생성한 경로로 설정합니다.
npm config set prefix '~/.npm-global' - 새로운 경로를 환경 변수 PATH에 추가합니다. (
.zshrc파일에 추가)export PATH=~/.npm-global/bin:$PATH - 터미널에 변경사항을 적용합니다.
source ~/.zshrc
이 방법을 사용하면 전역 패키지(예: npm install -g )를 설치할 때 더 이상 sudo 명령어를 사용할 필요가 없어져 보안 위험을 줄이고 개발 워크플로우를 간소화할 수 있습니다. 권한 오류는 Mac에서 npm을 사용할 때 가장 흔한 문제이므로 이 해결책을 반드시 숙지해 두는 것이 좋습니다.
Yarn 설치 및 사용 법 확인하기
npm과 더불어 Yarn은 Node.js 생태계에서 널리 사용되는 또 다른 패키지 관리자입니다. Facebook에서 개발한 Yarn은 npm의 단점을 보완하여, 특히 의존성 설치 속도와 안정성 면에서 강점을 가집니다. 많은 최신 프로젝트가 npm과 Yarn 둘 중 하나를 선택하거나, 두 가지 모두를 지원합니다.
npm이 설치되어 있다면, Yarn 설치는 아주 간단합니다. npm을 사용하여 전역으로 Yarn을 설치할 수 있습니다.
npm install -g yarn
Yarn이 설치되었다면, 기본적인 사용법은 npm과 유사하지만 명령어 형식에 약간의 차이가 있습니다. Yarn은 패키지 설치 시 package.json 외에 yarn.lock 파일을 생성하여 의존성 버전의 일관성을 강력하게 유지하는 것이 특징입니다.
| 기능 | npm 명령어 | Yarn 명령어 |
|---|---|---|
| 패키지 설치 | npm install |
yarn install |
| 패키지 추가 | npm install [package] |
yarn add [package] |
| 패키지 삭제 | npm uninstall [package] |
yarn remove [package] |
| 스크립트 실행 | npm run [script] |
yarn run [script] |
Yarn은 npm의 훌륭한 대안이 될 수 있으며, Mac 개발 환경에서 패키지 관리의 효율성을 높이고자 한다면 Yarn 사용을 고려해 볼 만합니다.
macOS ARM64 칩 (M1/M2) 환경 설정 팁 확인하기
Apple Silicon (M1, M2, M3 등 ARM64 아키텍처) 기반의 Mac 사용자들은 기존 Intel 기반 Mac과는 다른 경로 설정 및 호환성 문제를 겪을 수 있습니다. 대부분의 최신 Node.js와 npm 버전은 ARM64를 네이티브로 지원하지만, 일부 레거시 패키지를 사용하거나 환경 설정이 꼬인 경우 문제가 발생합니다.
M1/M2 Mac에서 Homebrew를 사용했다면, Homebrew가 설치되는 기본 경로는 /opt/homebrew이며, 이 경로가 올바르게 PATH에 등록되어 있는지 확인하는 것이 중요합니다. (기존 Intel Mac은 /usr/local).
만약 Node.js 또는 npm 설치 후 특정 네이티브 모듈(예: node-sass)에서 컴파일 오류가 발생한다면, Rosetta 2 에뮬레이션 환경에서 실행해 보는 것도 하나의 해결책이 될 수 있습니다. 터미널을 Rosetta 환경에서 실행하려면, 응용 프로그램 폴더의 ‘유틸리티’에서 터미널 앱을 복제하거나, 정보 가져오기에서 ‘Rosetta를 사용하여 열기’를 체크해야 합니다.
그러나 최신 개발 환경에서는 가능한 네이티브 ARM64 버전을 사용하는 것이 성능상 유리하므로, 레거시 패키지 호환성 문제가 아니라면 최신 LTS 버전의 Node.js를 사용하도록 권장합니다. nvm을 사용하는 경우에도 최신 버전을 설치하면 대부분 ARM64 네이티브 바이너리가 설치됩니다.
📌 추가로 참고할 만한 글
자주 묻는 질문 (FAQ)
npm과 Node.js를 별도로 설치해야 하나요?
아닙니다. Node.js를 설치하면 npm(Node Package Manager)은 기본적으로 함께 설치됩니다. Homebrew나 nvm을 사용하여 Node.js를 설치하는 것이 가장 권장되는 방법이며, 이 경우 npm도 자동으로 설치되고 관리됩니다. 따라서 대부분의 경우 별도로 npm을 설치할 필요는 없습니다.
npm install -g를 사용할 때 sudo를 사용해도 되나요?
권장되지 않습니다. sudo를 사용하면 시스템 디렉토리에 파일 쓰기 권한이 부여되어 보안 위험이 발생할 수 있습니다. 대신, 본문에서 설명한 것처럼 npm의 전역 패키지 설치 경로를 사용자 소유의 홈 디렉토리 내 폴더(예: ~/.npm-global)로 변경하는 방법을 사용해야 권한 오류를 안전하고 영구적으로 해결할 수 있습니다.
nvm을 사용하면 버전 전환이 왜 필요한가요?
nvm(Node Version Manager)은 여러 Node.js 버전을 설치하고 관리할 수 있게 해줍니다. 이는 특히 다양한 프로젝트를 진행할 때 유용합니다. 일부 레거시 프로젝트는 구형 Node.js 버전에 종속되어 있을 수 있고, 새로운 프로젝트는 최신 기능을 사용하기 위해 신형 버전을 요구할 수 있습니다. nvm을 사용하면 각 프로젝트 디렉토리에서 필요한 Node.js 버전으로 쉽게 전환할 수 있어 환경 충돌을 방지하고 개발 안정성을 높일 수 있습니다.
설치 후 npm: command not found 오류가 나와요.
이 오류는 대부분 시스템의 PATH 환경 변수에 npm 실행 파일의 경로가 포함되어 있지 않을 때 발생합니다. 설치 방법(Homebrew, nvm 등)에 따라 npm의 위치를 확인하고, 해당 경로(예: /opt/homebrew/bin 또는 ~/.nvm/versions/node/vXX.X.X/bin)를 .zshrc 또는 .bash_profile 파일에 export PATH=... 구문으로 추가한 다음, source 명령어로 변경 사항을 적용해야 합니다.