nvm을 설치해서 node.js 버전 관리하기 (mac)

JIN·2024년 11월 6일
0

개발

목록 보기
1/2
post-thumbnail

리액트 프로젝트의 UI 수정 작업을 진행하게 되었는데, 프로젝트를 실행하려다 보니 아래와 같은 오류가 발생하고 실행은 되지 않았습니다 🥲

TypeError: Cannot convert undefined or null to object
    at Object.<anonymous> (/Users/jinchoi/Desktop/roulette/.yarn/__virtual__/react-scripts-virtual-6f5ee809b4/0/cache/react-scripts-npm-5.0.1-d06bd2d5ad-92afa2f245.zip/node_modules/react-scripts/config/env.js:16:30)

Node.js v23.1.0

어디서 갑자기 이런 오류가 났는지 원인을 찾아보니, 제 PC와 프로젝트가 사용하는 Node.js 버전이 서로 달라 생긴 충돌 때문이었습니다.

그럼 Node.js 버전을 어떻게 그때 그때 관리하지? 하다가 nvm(Node Version Manager) 을 이용하면 간편하게 가능하다는걸 알게 되었습니다. 혹시 다음에 비슷한 상황이 있을때 바로 확인할 수 있게 정리해보았습니다.

1. nvm 설치

brew가 설치되어 있는 상황이면, 아래 명령어로 바로 nvm 설치가 가능합니다.

brew install nvm

만약 brew가 없다면 해당 링크를 따라 설치가 가능합니다. https://brew.sh/ko/

2. 환경 변수 설정

nvm을 설치한 후, 터미널에서 nvm 명령어를 인식할 수 있도록 환경 변수 설정을 추가해줘야 합니다.
사용 중인 쉘 환경에 따라 적절한 설정 파일을 선택하여 터미널에 입력해줍니다.

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

# bash
$ vim ~/.bash_profile

그 다음 프로필 설정을 위해 아래 내용을 작성해야합니다.
입력 방법: 터미널 → 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

3. 환경 변수 적용

작성 후 환경 변수가 적용될 수 있게 source 명령어 입력하여 환경 변수를 적용해줍니다.

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

# bash
$ source ~/.bash_profile

4. 설치 확인

설정이 완료되면, 다음 명령어로 nvm이 정상 설치되었는지 확인이 가능합니다.

nvm -v

0.40.1

5. 원하는 Node.js 버전 설치

이제 설치된 nvm을 통해 프로젝트에 맞는 Node.js 버전을 확인하고 설치할 수 있습니다.

nvm ls

       v18.20.4
->       system
default -> 18 (-> v18.20.4)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.20.4) (default)
stable -> 18.20 (-> v18.20.4) (default)
lts/* -> lts/jod (-> N/A)
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.2 (-> N/A)
lts/hydrogen -> v18.20.4
lts/iron -> v20.18.0 (-> N/A)
lts/jod -> v22.11.0 (-> N/A)

nvm ls를 통해 모든 버전을 확인할 수 있고, 저는 18버전을 사용하기 위해 18버전을 설치했습니다.

nvm install 18

6. Node.js 버전 선택 및 사용

설치한 Node.js 버전을 사용하도록 변경합니다.

nvm use 18

Now using node v18.20.4 (npm v10.7.0)

7. 프로젝트 실행

버전을 변경하고 다시 프로젝트를 실행하면 프로젝트가 오류없이 정상적으로 실행되는걸 확인할 수 있습니다.

만약 프로젝트를 실행했는데, node.js 버전으로 인해 실행이 되지 않으면 nvm을 설치해서 버전을 맞춰보는 방법도 있다는걸 하나 배우는 시간이었고, 앞으로는 다양한 Node.js 버전을 필요로 하는 환경에서 유용하게 활용할 수 있을 것 같습니다!!!


참고 자료: https://melonicedlatte.com/2022/06/27/214900.html

profile
MAXIMUM EFFORT 🙃

0개의 댓글