여러 프로젝트를 진행하다 보면 협업 하는 경우 코드를 공유하거나 라이브러리를 받을 때 node 버전이 다르게 되면 문제가 생기는 부분도 발생할 수 있습니다.
하지만 각 프로젝트 마다 노드 버전을 다르게 쓰는 방법이 있습니다.
우선 제 os는 mac이고 터미널을 zsh를 사용하고 있는데 이제 zsh 설정 파일인 .zshrc에 들어가서
# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
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" != "$node_version" ]; then
nvm use
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use defaults
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
위와 같이 코드를 작성해주면 이제 프로젝트 폴더 안에서 .nvmrc(nvm 설정 파일)이 있고 그 프로젝트에서만 사용하고자 하는 노드 버전을 확인해서 pc에서 설정되어 있는 노드 버전 default 값과 다르면 그 버전을 사용하게 초기화를 자동으로 진행해주는 코드입니다.
그리고 나서 각 프로젝트 폴더 안에 .nvmrc 파일에는
사용하고자 하는 버전(예: v13.9.0)
을 작성해주면 됩니다. 그러면
위 사진과 같이 맨 밑에 Now using node v13.9.0(.nvmrc에 설정해 준 버전) 라는 문구와 함께 그 프로젝트에서만 사용할 수 있는 노드 버전으로 자동으로 초기화하게 됩니다!
이상으로 각 프로젝트마다 노드 버전 다르게 사용하는 법이었습니다~
'Javascript > Node.js' 카테고리의 다른 글
[Node.js] FCM(Firebase Cloud Messaging)토큰으로 백그라운드 앱에 메시지 보내기 (0) | 2021.11.04 |
---|---|
Promise.all() (0) | 2021.11.02 |
모듈 시스템 (0) | 2021.09.30 |
promise API (0) | 2021.09.28 |
콜백 (0) | 2021.09.27 |