개요
- NVM(Node Version Manager)은 Node.js의 여러 버전을 관리할 수 있는 도구
- 본 문서는 Mac 환경에서 기존에 설치된 Node를 제거하고, NVM을 설치 및 사용하는 방법에 대해 안내
- NVM을 사용하면 프로젝트마다 다른 Node.js 버전을 사용할 수 있어 개발 환경을 유연하게 관리 가능
Shortcut
아래는 본 문서에서 안내한 과정을 일괄 실행하는 스크립트 입니다. 아직 충분히 실험되지 않았기때문에 참고만 부탁드립니다.
#!/bin/bash
# NVM 버전 파라미터 처리
NVM_VERSION=${1:-$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | grep 'tag_name' | cut -d '"' -f 4)}
# 환경 설정 파일 결정
if [ -f ~/.zshrc ]; then
SHELL_CONFIG=~/.zshrc
elif [ -f ~/.bashrc ]; then
SHELL_CONFIG=~/.bashrc
elif [ -f ~/.profile ]; then
SHELL_CONFIG=~/.profile
else
echo "환경 설정 파일을 찾을 수 없습니다. .zshrc, .bashrc, .profile 중 하나가 필요합니다."
exit 1
fi
# NVM 및 Node.js 설치 여부 확인 및 삭제
# NVM 설치 디렉토리 확인 및 삭제
if [ -d "$HOME/.nvm" ]; then
echo "NVM이 설치되어 있습니다. 삭제 중..."
# NVM 환경 변수 설정
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm deactivate
nvm uninstall --lts
nvm uninstall --latest-npm
sed -i '' '/export NVM_DIR="\/Users\/[a-zA-Z0-9]*\/.nvm"/d' ~/.zshrc
sed -i '' '/\[ -s "\$NVM_DIR\/nvm.sh" \] && \. "\$NVM_DIR\/nvm.sh"/d' ~/.zshrc
sed -i '' '/\[ -s "\$NVM_DIR\/bash_completion" \] && \. "\$NVM_DIR\/bash_completion"/d' ~/.zshrc
sed -i '' '/# This loads nvm/d' ~/.zshrc
sed -i '' '/# This loads nvm bash_completion/d' ~/.zshrc
unset -f nvm
echo "NVM 삭제 완료."
else
echo "NVM이 설치되어 있지 않습니다."
fi
# Node.js 설치 여부 확인 및 삭제
if command -v node > /dev/null 2>&1; then
echo "Node.js가 설치되어 있습니다. 삭제 중..."
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /usr/local/bin/node
sudo rm -rf /opt/local/lib/node_modules
sudo rm -rf $HOME/.npm
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
echo "Node.js 삭제 완료."
else
echo "Node.js가 설치되어 있지 않습니다."
fi
# NVM 설치
echo "NVM $NVM_VERSION 설치 중..."
curl -s -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash > /dev/null
# 환경 설정 파일 로드
source "$SHELL_CONFIG"
# 설치된 NVM 버전 확인
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
echo "설치된 NVM 버전:"
nvm --version
위 스크립트는 아래와 같이 사용 할 수 있습니다.
chmod +x ./install-nvm.sh
./install-nvm.sh # 최신버전설치
or
./install-nvm.sh v0.33.11 #0.33.11 설치
NVM 소개
- NVM(Node Version Manager)은 Node.js 버전을 쉽게 설치하고 전환할 수 있도록 도와주는 도구
- Node.js의 여러 버전을 동시에 관리할 수 있어, 다양한 프로젝트에서 필요한 Node.js 버전을 손쉽게 사용가능.
Node 삭제
Step 1. 아래 명령을 실행하여, 기존에 설치되어 있는 node.js를 삭제
brew uninstall --force node
Step 2. 아래 스크립트를 실행하여, 남아있는 Node.js 관련 파일을 삭제
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm –rf /usr/local/bin/node
sudo rm -rf /opt/local/lib/node_modules
sudo rm -rf $HOME/.npm
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
NVM 설치
NVM을 설치하려면 다음 단계를 따릅니다.
Step 1. NVM 설치 스크립트 실행
NVM 설치 스크립트를 실행합니다. 다음 명령어를 터미널에 입력합니다
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
이 명령어는 NVM 설치 스크립트를 다운로드하여 실행합니다.
Step 3. NVM 환경 설정
설치가 완료되면, 터미널을 재시작하거나 다음 명령어를 실행하여 NVM 환경 설정을 로드합니다:
source ~/.zshrc
혹은 사용하는 쉘에 따라 ~/.bashrc, ~/.profile 등을 사용할 수 있습니다.
Node.js 설치 및 관리
NVM이 정상적으로 설치되었는지 확인하려면 다음 명령어를 입력합니다:
nvm --version
정상적으로 버전이 출력되면, NVM이 설치된 것입니다.
Step 1. Node.js 설치
NVM을 사용하여 특정 버전의 Node.js를 설치할 수 있습니다. 예를 들어, 최신 LTS(Long Term Support) 버전을 설치하려면 다음 명령어를 입력합니다:
nvm install --lts
특정 버전을 설치하려면:
nvm install 14.17.0
Step 2. Node.js 버전 전환
프로젝트마다 다른 Node.js 버전을 사용해야 할 경우, 다음 명령어를 통해 버전을 전환할 수 있습니다.
nvm use 14.17.0
프로젝트별 Node.js 버전 관리
NVM을 사용하면 프로젝트마다 다른 Node.js 버전을 사용할 수 있습니다. 이를 위해 프로젝트 폴더 내에 .nvmrc 파일을 생성하고, 파일 안에 원하는 Node.js 버전을 명시합니다.
Step 1. .nvmrc 파일 생성
프로젝트 폴더 내에 .nvmrc 파일을 생성하고, 파일 내용에 사용하고자 하는 Node.js 버전을 입력합니다:
14.17.0
Step 2. 프로젝트 폴더에서 Node.js 버전 설정
프로젝트 폴더로 이동한 후, 다음 명령어를 입력하여 .nvmrc 파일에 명시된 버전을 사용하도록 설정합니다:
nvm use
Alias 사용
NVM은 자주 사용하는 Node.js 버전을 쉽게 전환할 수 있도록 Alias 기능을 제공합니다. Alias를 사용하면 복잡한 버전 번호 대신 별명을 사용할 수 있습니다.
Step 1. Alias 생성
자주 사용하는 Node.js 버전에 Alias를 지정하려면 다음 명령어를 사용합니다:
nvm alias default 14.17.0
이 명령어는 default라는 Alias를 버전 14.17.0에 지정합니다.
Step 2. Alias 사용
Alias를 사용하여 Node.js 버전을 전환하려면 다음 명령어를 사용합니다:
nvm use default
이 명령어는 default로 지정된 Node.js 버전을 활성화합니다.
Step 2. 생성된 Alias 목록을 확인할 수 있습니다.
nvm alias
다양한 Alias 사용 사례
1. 특정 프로젝트별 Alias 생성
여러 프로젝트에서 각각 다른 Node.js 버전을 사용할 경우, 각 프로젝트에 맞는 Alias를 생성할 수 있습니다.
nvm alias project1 12.18.3
nvm alias project2 14.17.0
nvm alias project3 16.13.0
이렇게 하면 프로젝트 디렉토리로 이동할 때마다 필요한 Node.js 버전을 쉽게 전환할 수 있습니다.
3. 최신 LTS 버전 Alias 생성
Node.js의 최신 LTS 버전을 항상 사용하고 싶다면, lts라는 Alias를 생성할 수 있습니다.
nvm alias lts 'lts/*'
이 Alias를 사용하면 항상 최신 LTS 버전으로 전환할 수 있습니다.
3. 팀 표준 버전 Alias 생성
팀 내에서 사용하는 표준 Node.js 버전을 Alias로 지정하여 팀원들이 쉽게 동일한 버전을 사용할 수 있도록 할 수 있습니다.
nvm alias team 14.17.0
팀원들은 nvm use team 명령어를 사용하여 동일한 버전을 사용할 수 있습니다.
NVM 삭제
NVM(Node Version Manager)을 완전히 제거하려면, NVM과 관련된 모든 설정과 설치된 Node.js 버전을 삭제해야 합니다. 다음 단계를 따라 NVM을 안전하게 삭제할 수 있습니다.
Step 1. NVM 비활성화
먼저, 현재 활성화된 NVM 환경을 비활성화해야 합니다. 이를 위해 다음 명령어를 실행합니다:
nvm deactivate
Step 2. 모든 LTS 버전의 Node.js 삭제
NVM을 통해 설치된 모든 LTS(Long Term Support) 버전의 Node.js를 삭제합니다. 다음 명령어를 실행하여 LTS 버전을 제거할 수 있습니다:
nvm uninstall --lts
Step 3. 최신 npm 버전의 Node.js 삭제
NVM을 통해 설치된 최신 npm 버전의 Node.js를 삭제합니다. 다음 명령어를 실행하여 최신 npm 버전을 제거할 수 있습니다:
nvm uninstall --latest-npm
Step 4. 환경 설정 파일에서 NVM 관련 설정 삭제
NVM과 관련된 환경 설정을 쉘 설정 파일(.zshrc, .bashrc, .profile 등)에서 삭제합니다. 아래 예시는 .zshrc 파일에서 NVM 설정을 삭제하는 명령어입니다:
sed -i '' '/export NVM_DIR="\/Users\/[a-zA-Z0-9]*\/.nvm"/d' ~/.zshrc
sed -i '' '/\[ -s "\$NVM_DIR\/nvm.sh" \] && \. "\$NVM_DIR\/nvm.sh"/d' ~/.zshrc
sed -i '' '/\[ -s "\$NVM_DIR\/bash_completion" \] && \. "\$NVM_DIR\/bash_completion"/d' ~/.zshrc
sed -i '' '/# This loads nvm/d' ~/.zshrc
sed -i '' '/# This loads nvm bash_completion/d' ~/.zshrc
Step 5. NVM 디렉토리 삭제
마지막으로 NVM 디렉토리를 삭제하여 NVM을 완전히 제거합니다. 다음 명령어를 실행합니다
rm -rf ~/.nvm
Step 6. 쉘 설정 파일을 다시 로드
source ~/.zshrc # 또는 사용 중인 쉘 설정 파일을 로드. 혹은 사용하는 쉘에 따라 ~/.bashrc, ~/.profile 등을 사용할 수 있습니다.
source ~/.zshrc
이 단계를 통해 NVM과 관련된 모든 파일과 설정을 완전히 삭제할 수 있습니다. 쉘 설정 파일을 다시 로드하거나 터미널을 재시작하여 변경 사항을 적용합니다.
결론
- 이 문서에서는 Mac에서 NVM(Node Version Manager)을 사용하여 Node.js 버전을 관리하는 방법에 대해 안내
- NVM을 설치하고, Node.js 버전을 설치 및 전환하며, 프로젝트별로 Node.js 버전을 설정하는 방법을 다룸.
- NVM을 사용하면 다양한 프로젝트에서 필요한 Node.js 버전을 손쉽게 관리 가능
'JS-TS > 개발환경구성' 카테고리의 다른 글
Vite 를 이용한 React + typescript 개발 환경 구성 (0) | 2024.06.15 |
---|