티스토리 뷰
프로젝트별로 Node Version 관리하기
개요
하나의 프로젝트를 할때는 상관없지만, 기존 레거시를 유지보수하면서, 새로운 프로젝트를 진행해야 할 때, 프로젝트별로 버전이 상이할 때가 있다. 그나마 요즈음은 nvm 있어서 버전을 쉽게 변경가능하지만 이마져도 귀찮은 것이 개발자의 게으름이 아닌가 싶다.
이번에는 프로젝트별로 node 버전을 자동으로 바꿔주는 방법을 사용하려고 한다.
준비물
(본작업은 m1 맥북에서 작업을 진행하였으나, intel 맥도 크게 다르지 않을것으로 추측된다)
1. NVM
2. 버전이 서로 다른 프로젝트 2개 이상
작업
# nvm install
brew install nvm
# nvm 환경설정
mkdir -p ~/.nvm
# 생성된 nvm 환경으로 이동
cd ~/.nvm
# 내용 생성
touch auto-nvm.sh
chmod +x auto-nvm.sh
# 추후에 작성할 auto-nvm.sh 파일을 .zshrc 파일에 적용
echo "source ~/.nvm/auto-nvm.sh" >> ~/.zshrc
위에서 생성한 auto-nvm.sh 파일에 내용 추가
# https://github.com/nvm-sh/nvm#zsh
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
적용
source ~/.zshrc
프로젝트 root로 이동
.nvmrc 파일을 생성하고 해당 프로젝트의 node version을 입력한다
# 예
v18.15.0
다른 프로젝트에서도 동일하게 프로젝트 root 에서 .nvmrc 파일을 생성하고 node version을 입력한다.
'개발 > Etc' 카테고리의 다른 글
맥북에서 사진의 날짜 및 장소 일괄 변경하기 (0) | 2024.08.24 |
---|---|
HTML & CSS & JS 기초부터 다시 다듬기 (0) | 2024.03.30 |
번역 플러그인 기여 (0) | 2023.11.01 |
대량의 파일들을 euc-kr 에서 utf-8로 바꿀 때 (0) | 2023.09.11 |
맥 초반 꾸미기 (zsh, vim 을 이쁘고 편하게 쓰기) (0) | 2023.03.22 |
댓글