๐ Yarn Berry ์๋ฒฝ ์ ๋ฆฌ: ๊ฐ๋ ๋ถํฐ ์บ์ ๊ด๋ฆฌ๊น์ง!
“Yarn Berry(๋ฒ์ 2 ์ด์)์ ์ง์ ํ ๊ฐ์ ์ ์์๋ณด์!”
์ด์ Yarn๊ณผ ๋ฌด์์ด ๋ค๋ฅผ๊น? ์บ์ ๊ด๋ฆฌ๋ ์ด๋ป๊ฒ ํ ๊น?”
๐ ๋ชฉ์ฐจ
1๏ธโฃ Yarn Berry๋?
2๏ธโฃ Yarn 1๊ณผ Yarn 2(์ดํ ๋ฒ์ )์ ์ฐจ์ด์
3๏ธโฃ Zero-Install๊ณผ PnP(Plug’n’Play)๋?
4๏ธโฃ ์บ์ ๊ด๋ฆฌ: ์ด๋ป๊ฒ ๋์ํ๊ณ , ์ด๋ป๊ฒ ์ต์ ํํ ๊น?
5๏ธโฃ ์ค์ ์์ : ์บ์ ํด๋ฆฌ์ด ๋ฐ ์ต์ ํ
6๏ธโฃ ๊ฒฐ๋ก
1๏ธโฃ Yarn Berry๋?
๐ฃ Yarn Berry๋ Yarn 2 ์ด์์ ๋ฒ์ ์ ์๋ฏธํ๋ ์ฝ๋๋ค์์ด์์.
Yarn 1.x์ ๋น๊ตํ์ฌ ์๋, ํจ์จ์ฑ, ๋ณด์์ฑ์ด ํฌ๊ฒ ํฅ์๋ ๊ฒ์ด ํน์ง์ด์์.
โ Yarn Berry์ ํต์ฌ ํน์ง
โ๏ธ Zero-Install ๐๏ธ: node_modules ์์ด๋ ํจํค์ง ์ฌ์ฉ ๊ฐ๋ฅ
โ๏ธ Plug’n’Play (PnP) ๐: ํจํค์ง ๊ด๋ฆฌ ์๋ ๋ฐ ๋ณด์ ๊ฐํ
โ๏ธ Fast Resolution โก: ์์กด์ฑ ์ค์น๊ฐ ๋ ๋น ๋ฆ
โ๏ธ Strict Mode ๐: ํจํค์ง ๊ด๋ฆฌ์ ์ผ๊ด์ฑ ์ ์ง
โ๏ธ ์บ์ ์์คํ ๊ฐํ ๐พ: ๋์คํฌ์ ์ ์ฅ๋ ์บ์๋ฅผ ํ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ํจํค์ง ์ค์น
๐ Yarn Berry๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ:
npm install -g yarn
yarn set version berry
๐ Yarn Berry ๋ฒ์ ํ์ธ:
yarn -v
์ถ๋ ฅ ๊ฐ์ด 2.x ์ด์์ด๋ฉด Yarn Berry๊ฐ ์ ๋๋ก ์ค์น๋ ๊ฑฐ์์! ๐
2๏ธโฃ Yarn 1 vs. Yarn 2 (Yarn Berry)์ ์ฐจ์ด์
ํน์งYarn 1Yarn Berry (Yarn 2+)
node_modules | ์์ | ์์ (PnP ์ง์) |
ํจํค์ง ํด์ ๋ฐฉ์ | npm๊ณผ ๋์ผ | .pnp.cjs ํ์ผ์ ์ฌ์ฉ |
์ค์น ์๋ | ๋๋ฆผ | ๋น ๋ฆ (์บ์ฑ ์ต์ ํ) |
์์กด์ฑ ํด๊ฒฐ ๋ฐฉ์ | ๊ธฐ๋ณธ package.json | ๋ ์๊ฒฉํ ๋ฒ์ ๊ด๋ฆฌ |
๋ณด์์ฑ | ์๋์ ์ผ๋ก ๋ฎ์ | ๊ฐํ๋ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ |
โ ๊ฒฐ๋ก :
• node_modules ์์ด ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํจํค์ง๋ฅผ ์ค์นํ ์ ์์!
• PnP(Plug’n’Play) ๋ฐฉ์์ผ๋ก ๋ถํ์ํ ํจํค์ง ๋ก๋ฉ์ ๋ฐฉ์ง!
3๏ธโฃ Zero-Install๊ณผ PnP(Plug’n’Play)๋?
๐ข Zero-Install ๐๏ธ
๊ธฐ์กด Yarn(๋๋ npm)์์๋ node_modules ๋๋ ํฐ๋ฆฌ์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํ์ง๋ง,
Zero-Install ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด .yarn/cache ๋๋ ํฐ๋ฆฌ์ ํจํค์ง๋ฅผ ์ ์ฅํ๊ณ ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํด์.
๐ Zero-Install์ ์ค์ ํ๋ ๋ฐฉ๋ฒ
1๏ธโฃ .gitignore์์ node_modules์ ์ ๊ฑฐ
2๏ธโฃ .yarn/cache/ ๋๋ ํฐ๋ฆฌ๋ฅผ Git์ ์ปค๋ฐ
3๏ธโฃ .yarnrc.yml์์ enableGlobalCache: true ์ค์
enableGlobalCache: true
โ Zero-Install์ ์ฅ์
โ๏ธ ์๋ ์ฆ๊ฐ: ํจํค์ง๋ฅผ ๋งค๋ฒ ์ค์นํ ํ์ ์์
โ๏ธ ์ผ๊ด๋ ๊ฐ๋ฐ ํ๊ฒฝ: ํ์ ๊ฐ ๋์ผํ ํจํค์ง ์ํ ์ ์ง
โ๏ธ ๋์คํฌ ๊ณต๊ฐ ์ ์ฝ: node_modules ์ ๊ฑฐ
๐ฃ Plug’n’Play (PnP)๋? ๐
Yarn Berry๋ PnP ๋ฐฉ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ์ฌ node_modules ์์ด๋ ํจํค์ง๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ด์.
๋ชจ๋ ํจํค์ง ๊ฒฝ๋ก๋ฅผ .pnp.cjs ํ์ผ์์ ๊ด๋ฆฌํ๋ฏ๋ก, ๋ถํ์ํ ํ์ผ ํ์์ด ์ค์ด๋ค์ด ์๋๊ฐ ๋ํญ ์ฆ๊ฐํด์!
๐ PnP ํ์ฑํ ๋ฐฉ๋ฒ
yarn config set nodeLinker pnp
โ PnP์ ์ฅ์
โ๏ธ ๋ ๋น ๋ฅธ ํจํค์ง ๋ก๋ฉ
โ๏ธ ๋ณด์ ๊ฐํ (์์กด์ฑ ์คํธํ ๋ฐฉ์ง)
โ๏ธ ํ์ผ ์์คํ ์ต์ ํ (ํ์ผ ํ์ ์ต์ํ)
4๏ธโฃ ์บ์ ๊ด๋ฆฌ: ์ด๋ป๊ฒ ๋์ํ๊ณ , ์ด๋ป๊ฒ ์ต์ ํํ ๊น?
Yarn Berry์ ์บ์ ๋ฐฉ์
๐ Yarn Berry๋ ๋ชจ๋ ํจํค์ง๋ฅผ **์์ถ๋ ์บ์ ํ์ผ(.zip)**๋ก ์ ์ฅํ๊ณ .pnp.cjs์์ ์ฐธ์กฐํด์.
์ฆ, node_modules ์์ด๋ ํจํค์ง๋ฅผ ๋ฐ๋ก ๋ถ๋ฌ์ฌ ์ ์์ด์.
๐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง ์บ์ ๋ฐฉ์์ ์ฌ์ฉํด์:
1๏ธโฃ .yarn/cache/ (๋ก์ปฌ ์บ์)
2๏ธโฃ ๊ธ๋ก๋ฒ ์บ์ (~/.yarn/berry/cache ๋๋ YARN_CACHE_FOLDER)
์บ์ ๊ด๋ จ ์ฃผ์ ๋ช ๋ น์ด
๋ช ๋ น์ด์ค๋ช
yarn cache list | ์ ์ฅ๋ ์บ์ ํ์ธ |
yarn cache clean | ์บ์ ์ญ์ |
yarn cache dir | ์บ์ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก ํ์ธ |
5๏ธโฃ ์ค์ ์์ : ์บ์ ํด๋ฆฌ์ด ๋ฐ ์ต์ ํ
1๏ธโฃ ํ์ฌ ์บ์๋ ํจํค์ง ๋ชฉ๋ก ํ์ธํ๊ธฐ
yarn cache list
๐ก ์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด .yarn/cache์ ์ ์ฅ๋ ํจํค์ง ๋ชฉ๋ก์ ๋ณผ ์ ์์ด์!
2๏ธโฃ ์บ์๋ ํจํค์ง ์์น ํ์ธํ๊ธฐ
yarn cache dir
๐ก yarn cache dir ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ํ์ฌ ์ฌ์ฉ ์ค์ธ ์บ์ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅํด์ค์!
3๏ธโฃ ์บ์๋ฅผ ์ญ์ ํ๊ณ ์๋กญ๊ฒ ์ค์นํ๊ธฐ
yarn cache clean
yarn install
๐ก yarn cache clean์ ์คํํ๋ฉด ์บ์๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ญ์ ํ๊ณ ,
๐ก yarn install์ ์คํํ๋ฉด ์๋ก์ด ์บ์๋ฅผ ์์ฑํ๋ฉด์ ํจํค์ง๋ฅผ ๋ค์ ์ค์นํด์!
4๏ธโฃ ์บ์๋ฅผ ์ ์งํ๋ฉด์ ํจํค์ง ์ ๋ฐ์ดํธํ๊ธฐ
yarn up <ํจํค์ง๋ช
>
๐ก ํน์ ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ณ ์บ์์ ๋ฐ์ํ๋ ๋ฐฉ๋ฒ์ด์์!
yarn up react
๐ฏ react ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ ํ, .yarn/cache์๋ ์ ์ฅ!
6๏ธโฃ ๊ฒฐ๋ก : Yarn Berry๋ก ๋ ๋น ๋ฅด๊ณ ์ต์ ํ๋ ํจํค์ง ๊ด๋ฆฌ!
โ Yarn Berry๋ ๊ธฐ์กด Yarn 1๊ณผ ๋ค๋ฅด๊ฒ PnP ๋ฐฉ์์ ํ์ฉํด ์๋๋ฅผ ๊ทน๋ํ!
โ Zero-Install์ ํตํด node_modules ์์ด๋ ๊ฐ๋ฐ ๊ฐ๋ฅ!
โ ๊ฐ๋ ฅํ ์บ์ ์์คํ ๋๋ถ์ ํจํค์ง ์ค์น ์๋ ๐๏ธ UP!
โ ์บ์ ๊ด๋ฆฌ ๋ช ๋ น์ด(yarn cache clean, yarn up)๋ก ์ต์ ํ ๊ฐ๋ฅ!
๐ฅ ๊ฒฐ๋ก : “Yarn Berry๋ฅผ ์ ๋๋ก ์ดํดํ๊ณ ํ์ฉํ๋ฉด?”
๐ฏ ํจํค์ง ์ค์น ์๋ ์ต์ ํ
๐ฏ ๋ถํ์ํ node_modules ์ ๊ฑฐ
๐ฏ ๋ ๊ฐ๋ฒผ์ด ํ๋ก์ ํธ ํ๊ฒฝ ๊ตฌ์ถ
๐ท ์ ์ค์ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ด ์๋น! ๐ท ๐
'Dev-ops' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ ๋ํ์ ์ธ CI ๋๊ตฌ ์๋ฒฝ ๋น๊ต (0) | 2025.03.25 |
---|---|
๐ CI/CD ์ํฌํ๋ก์ฐ ์ต์ ํ (0) | 2025.03.23 |
๐ CircleCI ๊ฐ๋ ๋ถํฐ ์ค์ ๊น์ง ์๋ฒฝ ์ ๋ฆฌ! (0) | 2025.03.21 |
๐ Next.js ์ํฌํ๋ก์ฐ ์์ ์ ๋ณต (0) | 2025.03.20 |
๐ Testing Library ๊ณ์ด ์ํฌํ๋ก์ฐ ์์ ์ ๋ณต (0) | 2025.03.19 |