Javascript/Node.js

[mac/vscode] 프로젝트마다 node 버전 다르게 사용하는 방법

Frankie 2021. 10. 26. 15:09

여러 프로젝트를 진행하다  보면 협업 하는 경우 코드를 공유하거나 라이브러리를 받을 때 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