NPM 7.0 ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๊ฒŒ์‹œ ๋จ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฆด๋ฆฌ์Šค NPM 7.0, Node.js์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ JavaScript์—์„œ ๋ชจ๋“ˆ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. NPM ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ์•ฝ 1.3๋งŒ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” 12๋งŒ ๊ฐœ ์ด์ƒ์˜ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋งค๋‹ฌ ์•ฝ 75์–ต ๊ฑด์˜ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. NPM 7.0์€ ์ดํ›„ ํ˜•์„ฑ๋œ ์ตœ์ดˆ์˜ ์ค‘์š”ํ•œ ๋ฆด๋ฆฌ์Šค์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ๊ธฐ GitHub์˜ NPM Inc. ์ƒˆ ๋ฒ„์ „์€ ํ–ฅํ›„ ํ”Œ๋žซํผ ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. Node.js 15, 20์›” 7.0์ผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์˜ Node.js๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  NPM 7์„ ์„ค์น˜ํ•˜๋ ค๋ฉด "npm i -g npm@XNUMX" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์—ด์‡  ํ˜์‹ :

  • ์ž‘์—…๊ณต๊ฐ„(์›Œํฌ์ŠคํŽ˜์ด์Šค)์„ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€์˜ ์ข…์†์„ฑ์„ ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€๋กœ ์ง‘๊ณ„ํ•˜์—ฌ ํ•œ ๋‹จ๊ณ„๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž๋™ ์„ค์น˜ ๋™๋ฃŒ ์˜์กด์„ฑ (ํ˜„์žฌ ํŒจํ‚ค์ง€์—์„œ ์ง์ ‘ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋”๋ผ๋„ ํ˜„์žฌ ํŒจํ‚ค์ง€์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค). ํ”ผ์–ด ์ข…์†์„ฑ์€ package.json ํŒŒ์ผ์˜ "peerDependency" ์„น์…˜์— ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ด๋Ÿฌํ•œ ์ข…์†์„ฑ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ–ˆ์ง€๋งŒ NPM 7.0์—์„œ๋Š” ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •์˜๋œ ํ”ผ์–ด ์ข…์†์„ฑ์ด node_modules ํŠธ๋ฆฌ์˜ ์ข…์† ํŒจํ‚ค์ง€์™€ ๋™์ผํ•œ ์ˆ˜์ค€ ๋˜๋Š” ๊ทธ ์œ„์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž ๊ธˆ ํ˜•์‹(package-lock v2)์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์ด๋ฉฐ Yarn.lock ์ž ๊ธˆ ํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ํ˜•์‹์€ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๋นŒ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ํŒจํ‚ค์ง€ ํŠธ๋ฆฌ๋ฅผ ์™„์ „ํžˆ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. NPM์€ ์ด์ œ Yarn.lock ํŒŒ์ผ์„ ํŒจํ‚ค์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ ์ž ๊ธˆ ์ •๋ณด์˜ ์†Œ์Šค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๋‚ด๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ๋Œ€๋Œ€์ ์ธ ๋ฆฌํŒฉํ† ๋ง์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด node_modules ํŠธ๋ฆฌ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋ณ„๋„์˜ ๋ชจ๋“ˆ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ชฉ ํ†ต์ฆ.
  • ์šฐ๋ฆฌ๋Š” package.exports ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜ํ–ˆ๋Š”๋ฐ, ์ด๋กœ ์ธํ•ด require() ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋‚ด๋ถ€ ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŒจํ‚ค์ง€๊ฐ€ ์™„์ „ํžˆ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. npx, ์ด์ œ "npm exec" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€์—์„œ ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•  ๋•Œ์™€ "--json" ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•  ๋•Œ ๋ชจ๋‘ "npm audit" ๋ช…๋ น์˜ ์ถœ๋ ฅ์ด ํฌ๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€