Odd numbered Node.js versions will not enter LTS status ๐Ÿ˜Ÿ


ํ„ฐ๋ฏธ๋„ ์—๋Ÿฌ๋ฅผ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋…ธ๋“œ ํŒจํ‚ค์ง€์˜ ๋ฐฐํฌ phase์™€ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐฉ์‹


๋ฌธ์ œ

๊ฐ€๋” ํ™”๋ฉด์„ ๋„์šธ ์ผ์ด ์žˆ์–ด node๋ฅผ ๊น”์•„๋†“์•˜๋Š”๋ฐ, ํ„ฐ๋ฏธ๋„์„ ์‹œ์ž‘ํ•  ๋–„๋งˆ๋‹ค ์•„๋ž˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

Node.js version v19.6.1 detected.
Odd numbered Node.js versions will not enter LTS status and should not be used for production.
For more information, please see https://nodejs.org/en/about/releases/.

๋กœ์ปฌ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ๋„ ํ•˜๊ณ  ๋ฐ”๋น ์„œ ๋ฌด์‹œํ•˜๋‹ค๊ฐ€ ์‹ฌ์‹ฌํ•ด์„œ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

LTS

Long Term Support๋Š” ์ผ๋ฐ˜์  ์ˆ˜์ค€๋ณด๋‹ค ๋” ์˜ค๋ž˜ ์ง€์›๋˜๋Š” ๋ฒ„์ „์„ ๋œปํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์‰˜์— ๋‚˜์™€์žˆ๋˜ ํ•ด๋‹น ๋งํฌ์— ๋“ค์–ด๊ฐ”๋”๋‹ˆ node ๋ฒ„์ „ ๋ณ„๋กœ LTS๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์‹œ์ ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ์‹œ์ž‘ ์‹œ์ , ์ข…๋ฃŒ ์‹œ์ ๊นŒ์ง€ ๋ช…์‹œ๋˜์–ด ์žˆ์—ˆ๋‹ค. ๋‚ด๊ฐ€ ๋‹ค์šด๋ฐ›์•˜๋˜ ๋ฒ„์ „ 19.x์€ 22๋…„ 10์›”์— release ๋˜์—ˆ์œผ๋‚˜, LTS๋Š” ์—†์ด ์œ ์ง€ ๋ณด์ˆ˜๋งŒ 23๋…„ 4์›”๋ถ€ํ„ฐ ์‹œ์ž‘์œผ๋กœ ๋‚˜์™€์žˆ์—ˆ๋‹ค.

๋งํฌ๋Š” ๋…ธ๋“œ ๊นƒํ—™์—์„œ LTS์™€ Maintenance์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ๋‹ต๋ณ€ํ•œ ๊ธ€์ด๋‹ค.

๋กœ๊ทธ์˜ ์˜๋ฏธ

ํ•ด๋‹น ๊ธ€์„ ์ฝ๊ณ  ๋กœ๊ทธ๋ฅผ ๋‹ค์‹œ ๋ณด๋‹ˆ Odd numbers, ์ฆ‰ ํ™€์ˆ˜๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฒ„์ „์€ LTS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋‹ˆ ์šด์˜์—์„œ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๋Š” ๋œป์ด์—ˆ๋‹ค.

node release phases

ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ๋งŒ ๋ฐ›์•„๋ดค์ง€ ํŒจํ‚ค์ง€์˜ ์ˆ˜๋ช…์— ๋Œ€ํ•ด์„œ๋Š” ๊นŠ์ด ์ƒ๊ฐํ•ด๋ณธ์ ์ด ์—†๋Š”๋ฐ, ๋ฐฐํฌ ์Šค์ผ€์ค„์ด ์ƒ๊ฐ๋ณด๋‹ค ๋” ์ž์„ธํ•˜๊ตฌ๋‚˜ ์ƒˆ์‚ผ ์•Œ๊ฒŒ ๋๋‹ค. ๋ฆด๋ฆฌ์ฆˆ ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ƒํƒœ๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด๋†“๊ณ , ๋ฒ„์ „ ๋ณ„๋กœ ์ƒํƒœ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ช…์‹œํ•ด๋†“์•˜๋‹ค.

  • Current :
    • ๋…ธ๋“œ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋“ค์–ด๊ฐˆ non-majer (non-breaking) ๋ณ€ํ™”์˜ ๋Œ€๋ถ€๋ถ„์„ ํฌํ•จํ•ด์•ผ ํ•จ
  • Active LTS
    • LTS ํŒ€์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ๋ฒ„๊ทธ ํ”ฝ์Šค, ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๊ณ  ๋ฆด๋ฆฌ์ฆˆ ๋ผ์ธ์— ์ ํ•ฉํ•˜๊ณ  ์•ˆ์ •๋˜์—ˆ๋‹ค๊ณ  ๊ฒฐ์ •๋จ
  • Maintenance
    • ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋‚˜ ๋ณด์•ˆ ๋ฌธ์ œ๋งŒ ํ•ด๊ฒฐ

๊ณผ์ •

๋กœ๊ทธ๋ฅผ ์—†์• ๋ ค๋ฉด ๋…ธ๋“œ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ํ™•์ธ๋˜์–ด ๋…ธ๋“œ ๋ฒ„์ „ ๋งค๋‹ˆ์ €๋ฅผ ๊น”์•˜๋‹ค.

sudo npm install -g n
sudo n stable

n์„ ์น˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ ๋ฒ„์ „์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ํŠน์ • ๋ฒ„์ „์„ ์„ ํƒํ•˜๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ ์ค„ ์•Œ์•˜๋Š”๋ฐ, Permission Denided๊ฐ€ ์—„์ฒญ ๋œจ๋ฉด์„œ activeํ•œ ๋ฒ„์ „์€ ์—ฌ์ „์ด 18.15.0 ์ด์—ˆ๋‹ค.

n

ํ•ด๊ฒฐ

์ƒ๊ฐํ•ด๋ณด๋‹ˆ node๋ฅผ brew๋กœ ๊น”์•˜๋˜ ๊ฒƒ ๊ฐ™์•„์„œ node๋ฅผ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค

 # ๊น”๋ ค์žˆ๋Š” ๋ฒ„์ „ ํ™•์ธ ๊ฐ€๋Šฅ
brew search node

# ๋งŒ์•ฝ ์›ํ•˜๋Š” ๋ฒ„์ „์ด ์—†๋‹ค๋ฉด ์›ํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ์„ค์น˜, ์žˆ์œผ๋ฉด ์ƒ๋žต
brew install node@16

# ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” node ๋ฒ„์ „์„ ์–ธ์…‹
brew unlink node

# ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ์„ธํŒ…
brew link --overwrite node@16

๊ฒฐ๊ณผ

node -v ์ž…๋ ฅ ์‹œ 16๋Œ€ ๋ฒ„์ „์œผ๋กœ ํ™•์ธ, source ~/.zshrc๋กœ ์‰˜ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ๋”์ด์ƒ ๋ฉ”์‹œ์ง€๊ฐ€ ํ™•์ธ๋˜์ง€ ์•Š์Œ!