Server/Node.js

Yarn ์ด๋ž€?

์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ 2023. 3. 21. 02:05

Yarn์€ ์ฝ”๋“œ์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ „ ์„ธ๊ณ„์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Yarn์€ ์ด ์ž‘์—…์„ ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Yarn์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์˜ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋” ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ GitHub์— ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด Yarn์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒƒ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ๋Š” ํŒจํ‚ค์ง€๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์—๋Š” ๊ณต์œ ๋˜๋Š” ๋ชจ๋“  ์ฝ”๋“œ์™€ ํŒจํ‚ค์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” package.json ํŒŒ์ผ(๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ผ๊ณ  ํ•จ)์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

 

Install Corepack

Yarn์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์€ 16.10๋ถ€ํ„ฐ ๋ชจ๋“  Node.js ๋ฆด๋ฆฌ์Šค์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์ƒˆ๋กœ์šด ๋ฐ”์ด๋„ˆ๋ฆฌ์ธ Corepack์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์™€ Yarn ์‚ฌ์ด์˜ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•˜๋ฉฐ ๋” ์ด์ƒ Yarn ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ฒดํฌ์ธํ•  ํ•„์š” ์—†์ด ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Node.js >=16.10

Corepack์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋…ธ๋“œ .js ์„ค์น˜์— ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ํ˜„์žฌ ์˜ตํŠธ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

corepack enable

Node.js <16.10

์ฝ”์–ดํŒฉ์€ 16.10 ์ด์ „ ๋ฒ„์ „์˜ ๋…ธ๋“œ .js์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

npm i -g corepack

Updating the global Yarn version

Node.js ^16.17 or >=18.6

corepack prepare yarn@stable --activate

Node.js <16.17 or <18.6

์ตœ์‹  Yarn ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

corepack prepare yarn@<version> --activate

Initializing your project

๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ์ผ๋ถ€ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ปค๋ฐ‹์— ๋ชจ๋‘ ์ถ”๊ฐ€ํ•˜๋ฉด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค!

yarn init -2

๋ฉ”๋ชจ: ๊ธฐ๋ณธ์ ์œผ๋กœ yarn init -2 ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ Zero-Installs์™€ ํ˜ธํ™˜๋˜๋„๋ก ์„ค์ •ํ•˜๋ฉฐ, ์ €์žฅ์†Œ์—์„œ ์บ์‹œ๋ฅผ ์ฒดํฌ์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด .gitignore ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋ฉ”๋ชจ: Yarn 1.x์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์ฐจ๋‹จ๊ธฐ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ๋ฅผ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์ „ํ™˜ ์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ƒ๋‹นํžˆ ํฌ๊ด„์ ์ธ ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

Updating to the latest versions

Yarn์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

yarn set version stable

๊ทธ๋Ÿฐ ๋‹ค์Œ Yarn์€ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์•ˆ์ •์ ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ์ƒˆ ์„ค์น˜๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค!

Installing the latest build fresh from master

๋•Œ๋•Œ๋กœ ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฆด๋ฆฌ์Šค์กฐ์ฐจ๋„ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ตœ์‹  ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ๋ฅผ ์‹œ๋„ํ•˜์—ฌ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จ ํ•ด์กŒ์Šต๋‹ˆ๋‹ค! ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

yarn set version from sources

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ --branch ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • PR์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

yarn set version from sources --branch 1211

 

728x90