๐คทโ๏ธ NVM์ด๋?
NVM? Node Version Manager
node.js ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ํ๋ฒ์ฏค์ ๋ค์ด๋ดค๋ ์ฉ์ด NVM์ ์ค๋ช ํ์๋ฉด
Node.js์ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ๋๊ตฌ์ด๋ค.
์ NVM์ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ?
ํ์ฌ์์ ํ์ , ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๋ณด๋ฉด ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ, ๊ฐ๋ฐํด์ ๋ฒ์ ํธํ ๋ฌธ์ ๋ฅผ ๊ฒช๋๋ค.
์ด๋ฌํ ๋ฒ์ ํธํ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ node.js ๋ฒ์ ์ ๊ด๋ฆฌํด์ฃผ๋ ๋๊ตฌ NVM ํ์ํ๋ค.
ex: Next.js 14 ๋ฒ์ ์ node.js ๋ฒ์ 18.17.4 ์ด์๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
18.17.4 ์๋ ๋ฒ์ ์ด Next.js 14 ๋ฒ์ ์ install or create ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฏ๋ก node ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ ํด์ผํ๋ค.
์ด๋ฐ ์์๊ฐ์ ๋ฒ์ ํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ NVM์ ํ์ฉํด์ node ๋ฒ์ ์ ๋ฐ๊ฟ์ ํธํ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
NVM์ ์ฌ์ฉํ๋ ์ฅ์ :
- ์ปดํจํฐ ์ ์ญ์ ๋ค์ํ node.js ๋ฒ์ ์ ์ค์นํ ์ ์๊ณ ๊ด๋ฆฌํ ์์๋ค.
- nvm use ๋ฒ์ ๋ช ๋ น์ด๋ก node.js ๋ฒ์ ์ ๊ฐ๋จํ๊ฒ ์ค์์นญํด์ ์ฌ์ฉํ ์ ์๋ค.
๐คทโ๏ธ NVM ์ค์น & ์ฌ์ฉ๋ฒ?
๋๋ mac ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ mac๊ธฐ์ค์ผ๋ก ์ค์น & ์ฌ์ฉ๋ฒ์ ์ค๋ช ํด๋๋ฆฌ์ง๋ง window๋ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค.
NVM ์ค์น
1.์ค์น
$ sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
2. NVM ์ค์น ํ์ธ
$ nvm ls
-bash: nvm: command not found
์ค์น ํ์ nvm ls ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด not found ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
3. nvm ํ๊ฒฝ๋ณ์ ์ ํ
$ vi ~/.bash_profile
3-1. vi ์๋ํฐ ํธ์ง๊ธฐ์์ ํ๊ฒฝ๋ณ์ ์ ํ
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
3-2. zsh ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ
$ vi ~/.zshrc
.zshrc ์๋์ ํ๊ฒฝ๋ณ์๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐํ๊ณ ์ ์ฅํ๊ณ ์คํํ๋ค.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
4. ์ฌ์์
source ~/.bash_profile
4-1. zsh ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฌ์์
source ~/.zshrc
5. NVM ํ์ธ
$ nvm ls
-> system
node -> stable (-> N/A) (default)
iojs -> N/A (default)
NVM ๋ฒ์ ์ค์น
1.๋ ธ๋ ํน์ ๋ฒ์ ์ค์น
$ nvm install 20.7.0
*node ์ต์ ๋ฒ์ ์ค์น ๋ช ๋ น์ด
$ nvm install node
2. ์ค์น๋ node ๋ฒ์ ํ์ธ
$ nvm ls
NVM ๋ฒ์ ๋ณ๊ฒฝ
1.ํ์ฌ ๋ฒ์ ํ์ธ
node -v
2. node ๋ฒ์ ๋ณ๊ฒฝ
nvm use 20.7.0
3. ๋ณ๊ฒฝ๋ ๋ฒ์ ํ์ธ
node -v
4. ์ค์น๋ node ์ต์ ๋ฒ์ ์ default ๋ช ๋ น์ด
$ nvm alias default node
NVM์ ๊ฐ๋ ๊ณผ ์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๊ธฐ๋ณธ์ ์ธ ์ค์น & ์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณด์์ต๋๋ค.
"ํธํ๊ณ ๋น ๋ฅด๊ฒ ๊ธ์์๋ฅผ ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ"
'Node.js & TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ ์คํฌ๋ฆฝํธ] typescript keyof ํน์ ๊ฐ์ฒด ์ ๋์จ ํ์ ๊ธฐ๋ฒ (40) | 2024.07.22 |
---|---|
[ํ์ ์คํฌ๋ฆฝํธ] ํ์ ์คํฌ๋ฆฝํธ ๊ฐ๋ ๊ณผ ์ค๋ฌด์ ์ ์ฉํ Type Narrowing ๊ธฐ๋ฒ (49) | 2024.07.11 |
GraphQL Express Apollo-Server Mysql ์๋ฒ ๊ตฌ์ถ (12) | 2023.03.29 |
TypeScript type๊ณผ interface์ ๊ณตํต์ ๊ณผ ์ฐจ์ด์ (3) | 2022.11.18 |
[TypeScript] ํ์ ์คํฌ๋ฆฝํธ ํ์ ์ ์ (6) | 2022.11.11 |