ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NVM으로 Node.js 버전 바꾸기
    Build/Etc. 2024. 3. 3. 14:18

    개인 노트북에서 급하게 업무를 보게 되었는데 작업을 해야 할 프로젝트 환경은 Node 16버전에 맞춰져 있었고 개인 환경은 현재 Node LTS 버전인 20버전을 사용하다 보니 packge dependency 설치에 오류가 발생했습니다.

     

    그래서 NVM에 대해 찾아보고 설치하여 맞는 Node 버전으로 스위칭하여 업무를 할 수 있었습니다. 이번 기회에 간단하게 NVM에 대해 알아보겠습니다.

     

    NVM?

    NVM은 Node Version Manager로 command line을 통해 원하는 Node 버전으로 설치할 수 있습니다. 또한 설치된 Node 버전에 따라 npm 버전도 따라서 설치됩니다.

     

    NVM 설치 및 적용

    Window에서 설치 방법

    해당 nvm-widows github에서 nvm-setup.exe을 다운로드 후 설치를 진행합니다.

    Mac에서 설치 방법

    아래 command line으로 nvm을 설치합니다.

    # nvm 설치
    sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.7/install.sh | bash
    
    # 설치 후 설치 확인을 위한 nvm 명령어(nvm으로 설치된 node 버전 확인) 입력
    nvm ls

     

    ※ bash 쉘 기준에서 해당 오류가 뜬다면? ⇒ -bash: nvm: command not found

    # bash_profile vi 에디터 접근
    vi ~/.bash_profile
    
    # vi 에디터에서 해당 코드가 없을 경우 추가 후 저장
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
    
    #
    source ~/.bash_profile
    
    # 재확인
    nvm ls

     

    zsh 쉘 기준에서 해당 오류가 뜬다면?  zsh: command not found: nvm

    # zshrc vi 에디터 접근
    vi ~/.zshrc
    
    # vi 에디터에서 해당 코드가 없을 경우 추가 후 저장
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
    
    #
    source ~/.zshrc
    
    # 재확인
    nvm ls

     

    설치 및 설정이 완료되었다면 아래와 같이 확인할 수 있습니다.

    ->       system
    node -> stable (-> N/A) (default)
    iojs -> N/A (default)

     

    설치 관련하여 nvm github에서 자세하게 확인할 수 있습니다.

     

    Node 버전 적용

    원하는 Node 버전으로 설치하기 위해 해당 명령어를 통해 실행합니다.

    # nvm install <설치할 Node 버전>
    % nvm install 16
    Now using node v16.20.2 (npm v8.19.4)
    % node -v
    v16.20.2
    
    # 특정 버전 Node 설치
    % nvm install 18.12.0
    Now using node v18.12.0 (npm v8.19.2)
    % node -v
    v18.12.0
    
    # nvm use <사용할 Node 버전>
    % nvm use 16
    Now using node v16.20.0 (npm v8.19.4)
    % node -v
    v16.20.0
    
    % nvm use 20
    Now using node v20.11.1 (npm v10.2.4)
    % node -v
    v20.11.1

     

    메이저 버전만 명시할 경우 메이저 버전의 LTS 버전으로 설치됩니다. 명령어 관련 내용도 nvm github에서 자세하게 확인할 수 있습니다.

     

    마무리

    따로 개발 환경이 셋팅된 VM이나 도커에서 개발을 진행하면 호스트의 Node 버전에 영향이 없어서 상관이 없겠지만 그렇지 못할 경우 NVM을 이용하면 원하는 Node와 npm 버전으로 쉽게 셋팅할 수 있어서 좋았습니다. Node 버전을 바꿔야 하는 상황이 있다면 NVM을 이용해 보는 것도 좋겠습니다.

     


    참고 자료

    https://github.com/nvm-sh/nvm

    https://gist.github.com/falsy/8aa42ae311a9adb50e2ca7d8702c9af1

     

Designed by Tistory.