일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ChatGPT
- db
- GPT3.5
- nvmrc
- chatGPTAPI
- 자바
- gitlab
- 클래스
- Database
- 버킷생성
- java
- aws
- 웹소켓재시작
- openaiapi
- nodejs
- 웹소켓연결끊김
- 노드버전
- 클라우드
- aiapi
- 웹소켓연결
- javascript
- 호스팅영역
- Express
- 패키지설치에러
- Github
- gpt3.5turbo
- git
- gptapi
- iam사용자
- class
- Today
- Total
IT's Jenna
NVM 설치 및 사용방법 (.nvmrc) 본문
안녕하세요 오늘은 node.js로 개발할 때 필수적으로 사용하는 nvm에 대하여 알아보겠습니다.
1. NVM이란?
2. 설치방법 (MAC OS 기준)
3. nvmrc 파일 활용
1. NVM이란?
NVM은 Node.js Version Manager의 약어로 노드 버전을 관리하는 프로그램입니다.
프로젝트를 진행하다보면 프로젝트마다 사용하는 노드 버전이 다른 경우가 많습니다. 또한 설치되는 패키지들 중에는 노드 버전에 영향을 받는 패키지들도 있기 때문에 해당 버전에 맞춰서 개발을 하는 것이 편리합니다.
이때 서버 노드 버전은 16.20.2인데 제 PC의 노드 버전은 18.18.0이라면 프로젝트에 따라서 노드를 삭제하고 재설치해야하는 번거로움이 있겠죠? 이럴 때 NVM이 설치되어 있으면 노드 버전을 간편하게 변경하면서 개발할 수 있습니다.
2. 설치방법 (MAC OS 기준)
- 홈브류로 nvm을 설치합니다
brew install nvm
- zsh에서 설정파일을 변경합니다
vim ~/.zshenv
- 환경 변수 설정을 입력합니다
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
입력 후 빠져나오기 위해서는 esc 후에 :wq 를 입력하면 파일을 나올 수 있습니다.
- 환경 변수를 적용합니다
source ~/.zshenv
- nvm 버전 확인
nvm -v
이때 nvm의 버전이 확인되면 정상적으로 설치된 상태입니다.
- nvm 설치 버전 리스트
nvm ls
아래와 같이 nvm에서 설치가능한 노드 버전들을 확인할 수 있습니다.
- 노드 설치
nvm install --lts
- 원하는 버전 사용하기
nvm use --lts // 가장 최신 버전 사용
nvm use 16.20.2 // 버전 지정해서 사용
3. nvmrc 파일 활용
nvmrc 파일은 프로젝트별로 사용하는 노드 버전을 미리 기록해 두고 코드를 clone 받은 개발자들이 손쉽게 해당 버전을 쓸 수 있게 하는 파일입니다.
- .nvmrc 파일 생성
해당 프로젝트의 루트 디렉토리에 .nvmrc 라는 이름으로 파일 하나를 생성합니다. 직접 생성해도 되고 아래 명령어를 사용해도 괜찮습니다.
mkdir .nvmrc
- 노드 버전 입력
다른 내용은 아무것도 필요 없습니다! 파일안에 노드 버전만 적어주시면 됩니다. (v 생략 가능)
v16.20.2
- 노드 사용
해당 코드를 Pull 받은 후에 아래와 같이 사용해 주시면 됩니다.
nvm install // 본인의 nvm에 해당 버전이 없다면 설치 먼저
nvm use // 해당 버전 사용
오늘은 NVM의 설치 및 사용법에 대해 알아보았습니다! 생각보다 굉장히 간단하죠? :)
여러분도 노드 버전 관리하면서 패키지 설치 이슈는 이제 그만 겪으시길 바라요!
'Frontend' 카테고리의 다른 글
리액트 상태관리 - 리덕스 & 리듀서 (0) | 2021.03.07 |
---|---|
CSR vs SSR (0) | 2021.03.02 |
CRA & Next.js (0) | 2021.02.25 |
클래스형 컴포넌트 & 함수형 컴포넌트 (0) | 2021.02.22 |
리액트 (0) | 2021.02.08 |