nvm 설치 및 사용(mac)

jini.choi·2023년 7월 31일

nvm이란?

nodejs version manager 약자로 여러가지 프로젝트 진행 시 여러 node.js버전이 필요한 경우가 있다.
이때 여러 버전의 node.js를 설치하고 사용할 버전을 전환할수 있게 해주는 프로그램이다.

1. nvm 설치 전 brew설치(m1 mac버전)

1-1. 초기설치 명령어

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

1-2. 초기 설치 후에도 brew를 사용하려고 하면 brew가 없다고 나온다.
Next Steps에 있는 내용대로 추가 명령어를 입력한다.

==> Next steps:
- Run these three commands in your terminal to add Homebrew to your PATH:
    echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/jini.choi/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jini.choi/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

1-3. 아래대로 하나씩 복사해서 실행

echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/jini.choi/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jini.choi/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

1-4. 위에 명령어 실행 후 brew가 잘 설치됐는지 버전확인을 통해 최종확인

brew --version

2. nvm 설치

brew install nvm

2-1. nvm이 설치되어도 터미널에서 인식하지 못하기 때문데 nvm을 명령어로 인식시켜주기 위하여 환경변수로 등록한다. 쉘의 종류마다 설정파일 변경

# zsh은 둘 중 하나로 사용
$ vim ~/.zshenv 
$ vim ~/.zprofile 

# bash
$ vim ~/.bash_profile

2-3. 아래 내용 작성( i -> 작성-> esc -> :wq )

export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

2-4. 2-3작성 후 환경 변수가 적용될 수 있게 해주어야 되기 때문에, source 라는 명령어 입력 후 환경 변수 적용

# zsh은 둘 중 하나로 사용
$ source ~/.zshenv 
$ source ~/.zprofile 

# bash
$ source ~/.bash_profile

3. npm 사용

3-1. nvm 버전 확인

nvm -v

3-2. nvm 설치가능한 버전 확인

nvm ls

결과(현재 설치된 버전과 설치가능한 버전 확인 가능)

->     v14.14.0
       v18.17.0
         system
default -> 14.14.0 (-> v14.14.0)
node -> stable (-> v18.17.0) (default)
stable -> 18.17 (-> v18.17.0) (default)
iojs -> N/A (default)
lts/* -> lts/hydrogen (-> v18.17.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.1 (-> N/A)
lts/hydrogen -> v18.17.0

3-3. 세부버전 확인 시 아래 명령어 실행

nvm ls-remote

결과

        v0.1.14
        v0.1.15
        v0.1.16
        v0.1.17
        v0.1.18
        v0.1.19
        v0.1.20
        v0.1.21
        v0.1.22
        v0.1.23
        v0.1.24
        v0.1.25
   ........생략............
        v14.0.0
        v14.1.0
        v14.2.0
        v14.3.0
        v14.4.0
        v14.5.0
        v14.6.0
        v14.7.0
        v14.8.0
        v14.9.0
       v14.10.0
       v14.10.1
       v14.11.0
       v14.12.0
       v14.13.0
       v14.13.1
->     v14.14.0
       v14.15.0   (LTS: Fermium)
       v14.15.1   (LTS: Fermium)
       v14.15.2   (LTS: Fermium)
       v14.15.3   (LTS: Fermium)
       ........생략............
       v14.18.3   (LTS: Fermium)
       v14.19.0   (LTS: Fermium)
       v14.19.1   (LTS: Fermium)
       v14.19.2   (LTS: Fermium)
       v14.19.3   (LTS: Fermium)
       v14.20.0   (LTS: Fermium)
       v14.20.1   (LTS: Fermium)
       v14.21.0   (LTS: Fermium)
       v14.21.1   (LTS: Fermium)
       v14.21.2   (LTS: Fermium)
       v14.21.3   (Latest LTS: Fermium)
     ........생략............
        v16.0.0
        v16.1.0
        v16.2.0
        v16.3.0
        v16.4.0
        v16.4.1
        v16.4.2
        v16.5.0
        v16.6.0
        v16.6.1
        v16.6.2
        v16.7.0
        v16.8.0
        v16.9.0
        v16.9.1
       v16.10.0
       v16.11.0
       v16.11.1
       v16.12.0
      ........생략............
       v16.19.0   (LTS: Gallium)
       v16.19.1   (LTS: Gallium)
       v16.20.0   (LTS: Gallium)
       v16.20.1   (Latest LTS: Gallium)
        v17.0.0
        v17.0.1
       ........생략............
        v18.7.0
        v18.8.0
        v18.9.0
        v18.9.1
       v18.10.0
       v18.11.0
       v18.12.0   (LTS: Hydrogen)
       v18.12.1   (LTS: Hydrogen)
       v18.13.0   (LTS: Hydrogen)
       v18.14.0   (LTS: Hydrogen)
       v18.14.1   (LTS: Hydrogen)
       v18.14.2   (LTS: Hydrogen)
       v18.15.0   (LTS: Hydrogen)
       v18.16.0   (LTS: Hydrogen)
       v18.16.1   (LTS: Hydrogen)
       v18.17.0   (Latest LTS: Hydrogen)
          ........생략............

3-4. nvm install로 원하는 버전 설치

nvm install 18
또는
nvm install 18.4.0

3-5. 버전 변경

 nvm use 18
 또는
 nvm use 18.4.0

🙀 프로젝트 진행 시 확인 사항

  • 프로젝트 이동 시 해당 터미널에 brew와 nvm이 설치되었는지 확인하자!

  • 프로젝트의 node.js 버전과 내가 이동한 node.js버전이 맞는지 잘 확인하자!
    (이 부분 확인하지 못해서 에러때문에 시간을 많이 소요한 기억이 있다...)

해당 문서는 아래 블로그들을 참고하여 작성하였습니다.
https://somjang.tistory.com/entry/macOS-M1-Mac-%EC%97%90-brew-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
https://melonicedlatte.com/2022/06/27/214900.html

profile
개발짜🏃‍♀️

2개의 댓글

comment-user-thumbnail
2023년 7월 31일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기
comment-user-thumbnail
2024년 9월 2일

제대로 잘 작동하였습니다. 감사합니다 =)

답글 달기