โ† ๋ชฉ๋ก์œผ๋กœ
Yarn

yarn ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋Š” js ํ”„๋กœ์ ํŠธ์— ์˜์กด์„ฑ์„ ๊ด€๋ฆฌ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
npm์ด ์žˆ์ง€๋งŒ npm์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์•ˆ์ •์„ฑ, ๋ณด์•ˆ์„ฑ์ด ๋†’๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ yarn์€ npm์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋น ๋ฅธ๊ฒƒ์ด์ง€ yarn์˜ ๋ชฉ์ ์ž์ฒด๊ฐ€ ์„ฑ๋Šฅ์€ ์•„๋‹ˆ๋‹ค.
ํ˜„์žฌ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์— ํฌ์ปค์Šค๋ฅผ ๋งž์ถ”์–ด ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค.

yarn์„ npm์œผ๋กœ ์„ค์น˜ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ 1.x ๋ฒ„์ „๊นŒ์ง€๋งŒ ๋“ฑ๋ก๋˜์–ด ์žˆ๊ณ  ๋”์ด์ƒ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š”๋‹ค.
node์—์„œ corepack์„ ํ™œ์„ฑํ™” ์‹œํ‚ค๋ฉด node์— ํฌํ•จ๋œ yarn์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

yarn berry

  • yarn set version berry๋ฅผ ํ†ตํ•ด yarn์˜ ๋ฒ„์ „์„ ๋ชจ๋˜์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • yarn berry๋Š” PnP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • PnP ๋กœ๋”๋ฅผ ์ด์šฉํ•ด ์˜์กด์„ฑ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค
  • yarn berry๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋””๋ฐ”์ด์Šค์— ์ „์—ญ์ ์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ์บ์‹ฑํ•œ๋‹ค.
  • ์ด๊ฒƒ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ๋‚ด์— ํŒจํ‚ค์ง€ ํŒŒ์ผ์„ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์—†๋‹ค
  • ํ”„๋กœ์ ํŠธ ๋ผ๋ฆฌ ๊ฐ™์€ ํŒจํ‚ค์ง€์™€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋™์ผํ•œ ํŒจํ‚ค์ง€ ์บ์‹œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต๋œ ํŒŒ์ผ์„ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค
  • node_modules์™€ ๋‹ฌ๋ฆฌ ํŒจํ‚ค์ง€๋Š” zip ํŒŒ์ผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜์กด์„ฑ ์ถ”์ ์— ์„ฑ๋Šฅ์ ์œผ๋กœ ์œ ๋ฆฌํ•˜๋‹ค (์ค‘์ฒฉ๋œ ํด๋”์™€ ํŒŒ์ผ๋“ค์„ ๊ฐ€์ง€์ง€ ์•Š๋‹ค)
  • ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค yarn ๋ฒ„์ „์„ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ํ”„๋กœ์ ํŠธ๋งŒ yarn classic์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค.
  • ์ „์—ญ ์บ์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋กœ์ ํŠธ ๋งˆ๋‹ค ์บ์‹œ๋ฅผ ๊ฐ€์ง€๊ฒŒ ํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค.
  • .yarnrc.yml ํŒŒ์ผ์— ๊ธ€๋กœ๋ฒŒ ์บ์‹œ๋ฅผ ๋„๋ฉด ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค .yarn/cache ๋””๋ ‰ํ† ๋ฆฌ์— ์บ์‹œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.
  • ๋ธŒ๋žœ์น˜๋งˆ๋‹ค ์˜์กด์„ฑ์ด ๋‹ค๋ฅด๋‹ค๋ฉด .yarn/cache ํŒŒ์ผ์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ€๊ฒฝํ•œ๋’ค ๋ณ„๋„๋กœ yarn install์„ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์‹คํ–‰ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค (zero install์ด๋ผ ๋ถ€๋ฅธ๋‹ค)
  • workspace ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ๋ชจ๋…ธ๋ ˆํฌ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.