And Brain said,
macOS에서 nvm으로 프로젝트별 Node.js 버전 관리하기 본문
macOS에서 NVM(Node Version Manager)을 사용하여 Node.js 버전을 효율적으로 관리하는 방법을 정리합니다. 프로젝트별로 다른 Node.js 버전을 사용할 수 있으며, 필요할 때마다 쉽게 전환할 수 있습니다.
1. NVM과 Node.js 개요
Node.js ?
Node.js는 Chrome V8 엔진을 기반으로 한 서버사이드 JavaScript 런타임입니다. 비동기 이벤트 기반, 논블로킹 I/O 모델을 사용하여 확장성이 뛰어나고, 다양한 웹 애플리케이션에서 사용됩니다.
NVM ?
NVM(Node Version Manager)은 여러 Node.js 버전을 쉽게 설치하고 전환할 수 있는 도구입니다. macOS에서는 공식 패키지 관리자를 사용하지 않고 NVM을 이용하여 Node.js를 관리하는 것이 일반적입니다.
NVM을 사용하는 이유
프로젝트별로 다른 Node.js 버전 사용 가능
최신 LTS(Long-Term Support) 버전으로 손쉽게 업데이트 가능
기존 시스템과 충돌 없이 안전하게 Node.js 관리
필요한 Node.js 버전을 즉시 설치 및 제거 가능
2. macOS에서 NVM 설치하기
2-1. Homebrew 설치 (없다면 설치 필요)
Homebrew는 macOS에서 패키지를 설치하고 관리할 수 있는 도구입니다. 먼저 Homebrew가 설치되어 있는지 확인합니다.
brew -v
설치되어 있지 않다면 다음 명령어를 실행하여 Homebrew를 설치합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2-2. NVM 설치
Homebrew를 이용해 NVM을 설치합니다.
brew install nvm
설치가 완료되면 nvm 명령어가 정상적으로 동작하는지 확인합니다.
nvm --version
만약 command not found 오류가 발생한다면, 아래의 환경 변수 설정을 추가해야 합니다.
3. NVM 환경 변수 설정
3-1. NVM 환경 변수 추가
설치 후 NVM이 자동으로 실행되도록 ~/.zshrc(또는 ~/.bashrc) 파일을 수정해야 합니다.
nano ~/.zshrc
파일 맨 아래에 다음을 추가합니다.
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
3-2. 변경 사항 적용
설정을 적용하려면 터미널에서 다음 명령어를 실행합니다.
source ~/.zshrc
이제 NVM이 정상적으로 작동하는지 확인합니다.
nvm --version
4. Node.js 설치 및 버전 관리
4-1. Node.js 설치
최신 LTS(Long-Term Support) 버전을 설치하려면 다음 명령어를 실행합니다.
nvm install --lts
특정 버전이 필요하다면 아래처럼 설치할 수도 있습니다.
nvm install 18
설치 완료 후 버전을 확인합니다.
node -v
npm -v
4-2. Node.js 버전 변경
설치된 Node.js 버전을 변경하려면:
nvm use 18
기본 Node.js 버전을 설정하려면:
nvm alias default 18
설치된 Node.js 버전을 확인하려면:
nvm list
5. 프로젝트별 Node.js 버전 설정
NVM을 사용하면 프로젝트별로 다른 Node.js 버전을 사용할 수 있습니다.
5-1. 프로젝트별 Node.js 버전 고정하기
특정 프로젝트에서 원하는 Node.js 버전을 자동으로 사용하려면 .nvmrc 파일을 생성합니다.
echo "18" > .nvmrc
그 후 프로젝트에서 자동으로 .nvmrc에 있는 버전을 사용하려면:
nvm use
6. npm & yarn 패키지 관리
6-1. npm 기본 명령어
npm install -g <패키지이름> # 글로벌 패키지 설치
npm uninstall -g <패키지이름> # 글로벌 패키지 삭제
npm list -g --depth=0 # 글로벌 패키지 목록 확인
npm update -g # 글로벌 패키지 업데이트
6-2. yarn 설치
npm이 아닌 다른 패키지 매니저 yarn을 설치하려면:
npm install -g yarn
설치 확인:
yarn -v
7. NVM & Node.js 문제 해결
7-1. nvm command not found 오류 해결
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion"
위 내용을 ~/.zshrc 또는 ~/.bashrc에 추가한 후 source ~/.zshrc 실행.
7-2. npm이 작동하지 않을 때
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
7-3. EACCES 권한 오류 해결
npm 패키지를 설치할 때 EACCES 오류가 발생하면, 글로벌 패키지 설치 경로를 변경해야 합니다.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
이후 ~/.zshrc에 다음을 추가하고 적용합니다.
export PATH=~/.npm-global/bin:$PATH
source ~/.zshrc
정리
macOS에서 NVM을 통해 Node.js를 설치하고 관리하면 더욱 유연한 환경을 만들 수 있습니다.
프로젝트별로 .nvmrc 파일을 활용하여 자동으로 Node.js 버전을 적용할 수 있습니다.
npm 또는 yarn을 이용해 패키지를 쉽게 관리하고 유지할 수 있습니다.
이제 macOS에서 NVM을 활용해 Node.js를 더욱 효율적으로 관리해보세요 :)
'IT > Node.js' 카테고리의 다른 글
Mongoose | 거대한 데이터베이스(MongoDB)를 다루는 작은 거인 (7) | 2022.11.11 |
---|---|
Mongoose | node.js를 위한 우아한 MongoDB 객체 모델링 (0) | 2022.11.07 |
Node.js가 각광받은 이유 - 비동기(async), non-blocking (0) | 2022.10.15 |
[Express] req.params, req.query, req.body (0) | 2022.09.10 |
[Express, Mybatis, OracleDB] selectKey가 안 될 때 (0) | 2022.09.09 |