Node.js & TypeScript

๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์•Œ์•„์•ผํ•  NVM ๊ฐœ๋… & ์„ค์น˜ & ์‚ฌ์šฉ๋ฒ•

martinooo 2024. 4. 15. 15:13

 

๐Ÿคท‍โ™‚๏ธ 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์˜ ๊ฐœ๋…๊ณผ ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€์™€ ๊ธฐ๋ณธ์ ์ธ ์„ค์น˜ & ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 


 

"ํŽธํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ธ€์ž์ˆ˜๋ฅผ ํ™•์ธํ• ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•"