yarn๊ณผ npm
yarn๊ณผ npm์ ๋ ๋ค JavaScript์ ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ๋ผ๋ ์ ์์
๊ณตํต์ ์ ๊ฐ๋๋ค.
์ค์ํ ์ ์ ๊ฐํน react์์ ์ฒ์ ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ์์ด
๋ฆฌ์กํธ ์์กด์ ์ด๋ผ๊ณ ์คํดํ๋ ์ฌ๋์ด ์๋๋ฐ
(์ด๋ฐ ๋ง์ ๋ถ๋ช
Redux์์๋ ํ ์ ์ด ์๋ค.)
์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ JS์ ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ์ด๊ธฐ ๋๋ฌธ์
๊ฒฐ์ฝ ๋ฆฌ์กํธ ์์กด์ ์ด์ง ์๊ณ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ ํ๋ ์์ํฌ์
๊ด๊ณ์์ด JS ํ๋ก์ ํธ์์ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
yarn๊ณผ npm์ ๋ ๋ค JS ํจํค์ง๋ฅผ ๊ด๋ฆฌํ๊ณ
์์กด์ฑ์ ํด๊ฒฐํ๊ณ
ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
node.js์ ๋ํด์ ํฌ์คํ
ํ ๋
2010๋
๋์ JavaScript์์ npm ์ํ๊ณ๊ฐ ๋ฑ์ฅํ๋ค๊ณ
์ธ๊ธํ ์ ์ด ์๋๋ฐ
์ด ๋ง์์๋ ์ ์ ์๋ฏ์ด
npm์ด๋ผ๋ ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ๊ฐ ๋ฑ์ฅํ๊ณ ๋์
yarn์ด ๋ฑ์ฅํ ๊ฒ์ด๋ค.
๊ทธ ๋ง์ธ์ฆ์จ npm์ ๋ช๋ช ๋จ์ ์ด ์์๊ณ
๊ทธ๋ฌํ ๋จ์ ์ ๋ณด์ํ๊ณ ์ yarn์ด ๋ฑ์ฅํ ๊ฒ์ด๋ค.
๊ทธ๋์ ์ค๋์ npm์ ๋จ์ ์ ๋จผ์ ์ดํด๋ณด๊ณ
yarn์ด ๋ณด์ํ ๋ถ๋ถ์ด ๋ฌด์์ธ์ง, ์ ์ฌ๋๋ค์ด ์ฐ๊ฒ ๋๋์ง
์ดํด๋ณด๊ณ ์ ํ๋ค.
npm์ ๋จ์
npm์ ์ฑ๋ฅ ์ด์๊ฐ ์๋๋ฐ ๋ฌด์จ ๋ง์ด๋๋ฉด
์ด๊ธฐ ํจํค์ง ์ค์น ์ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค๋ ๊ฒ์ด๋ค.
ํนํ๋ ํ๋ก์ ํธ์ ์์กด์ฑ์ด ๋ง์ ๊ฒฝ์ฐ npm ์ค์น๋ ์๋นํ ์ค๋ ๊ฑธ๋ฆฐ๋ค.
๋ํ, npm์ ์ข
์์ฑ ํด๊ฒฐ์ ๋ฌธ์ ๊ฐ ์์ ์ ์๋๋ฐ
ํน์ ํจํค์ง์ ๋ค๋ฅธ ๋ฒ์ ์ด ์๋ค๋ฉด ์ด ์ฐจ์ด๋ก ์ธํด
์์กด์ฑ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
npm์ ์ด๊ธฐ์ ๋ณด์ ์ด์๊ฐ ์์๋๋ฐ
ํจํค์ง๋ค์ ๋ค์ด๋ก๋ ํ๋ ๊ณผ์ ์์ ๋ณด์ ์ํ์ ๊ฐ๋ฅ์ฑ์ด ์์๋ค๊ณ ํ๋ค.
๊ทธ๋ฆฌ๊ณ npm์ ํ๊ฒฝ์ ๋ฐ๋ผ์ ๋์์ด ๋ฌ๋ผ์ง ์ ์๋๋ฐ
ํ๋ก์ ํธ์ ์์กด์ฑ์ด ํธํ๋์ง ์์ ์ ์์ด ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
์ด๋ฌํ ๋จ์ ๋ค์ yarn์ ๊ฐ๋ฐํ๊ฒ ๋ ์ด์ ๊ฐ ๋์๊ณ
yarn์ ์ด๋ฌํ ๋ถ๋ถ์ ๋ณด์ํ๊ณ ์ ๋ฑ์ฅํ๋ค.
yarn์ ์ด์
yarn์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ณ๋ ฌ ์ค์น๋ฅผ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด
ํจํค์ง ์ค์น์ ์์กด์ฑ ๊ด๋ฆฌ ์์
์์ npm๋ณด๋ค ๋น ๋ฅด๊ฒ ๋์ํ๋ค.
๋น ๋ฅธ ์๋๋ฟ๋ง ์๋๋ผ ํจ์จ์ฑ๋ ์ ๊ณตํ๋ ์
์ด๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ข
์์ฑ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๋ฅผ
๋ค๋ฃจ๋๋ฐ ์์ด์๋ ์ด์ ์ ๊ฐ์ ธ๋ค ์ค๋ค.
npm์์ ๋์ผ ํจํค์ง ๋ค๋ฅธ ๋ฒ์ ์์ ๋ฐ์ํ ์ ์๋ ์ข
์์ฑ ๋ฌธ์ ๋ฅผ
์์กด์ฑ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๋ค๋ฃจ์ด ์ถฉ๋์ ํด๊ฒฐํ๋ค.
yarn์ ํจํค์ง๋ฅผ ์ค์นํ๋ ๊ณผ์ ์์ ๋ณด์ ๊ฒ์ฌ๋ฅผ ์ค์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ขฐํ ์ ์๋ ํจํค์ง๋ง ๊ณจ๋ผ์ ์ค์นํ๋ค.
์์ฆ npm๋ ๋ณด์์ ๊ฐํํ๊ณ ์์ง๋ง
yarn์ ์ด๊ธฐ๋ถํฐ ํจํค์ง ๊ฒ์ฌ๋ฅผ ์ํํด์๊ณ ์์ ์ฑ์ ๊ฐํํด์๋ค
yarn์ npm๋ณด๋ค ๋ ๋ง์ ๋ช
๋ น์ด์ ์ต์
์ ์ ๊ณตํ๊ณ
์์
์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ๋ฉด์๋ ์ผ๊ด์ฑ ์๋ ๋์๋ง์ ์ ๊ณตํด
ํ๋ก์ ํธ๋ฅผ ๋ณด๋ค ์์ ์ ์ผ๋ก ์ ์งํ๊ณ ํธํ์ฑ์ ํฅ์์ํจ๋ค.
npm๋ณด๋ค yarn๋ง์ ์ฌ์ฉํด์ผํ๋๊ฐ ?
์ ๋ ๊ทธ๋ ์ง ์๋ค.
npm์ ์ญ์ฌ๊ฐ yarn์ ์ญ์ฌ๋ณด๋ค ๊ธธ๋ค๋ ๊ฒ์
๊ทธ๋งํ ์ด์ ์ด ์กด์ฌํ๋ค๋ ์๋ฏธ๊ธฐ๋ ํ๋ค.
npm์ Node.js์ ํจํค์ง ๋งค๋์ ๋ก์
Node๋ฅผ ์ค์นํ๋ฉด ๊ธฐ๋ณธ ๋ด์ฅ์ด ๋์ด์์ด ๋ณ๋ ์ค์น๊ฐ ํ์์๊ณ
yarn์ ์ถ๊ฐ๋ก ์ค์นํด์ผํ๋ค๋ ๋ฒ๊ฑฐ๋ก์์ด ์๋ค.
๋ํ, npm์ 5๋ฒ์ ๋ถํฐ yarn๊ณผ ๋น์ทํ ํ๋ก์ ํธ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ฐ
๋ชจ๋ ์ข
์์ฑ์ด ํ๋ก์ ํธ ๋ฃจํธ์ ์ค์น๋์๋ ์ ๊ณผ๋ ๋ฌ๋ฆฌ
์์กด์ฑ์ด ๋ณด๋ค ์ฒด๊ณ์ ์ธ ๊ตฌ์กฐ๋ก ์ค์น ๋ผ ํ๋ก์ ํธ ๊ตฌ์ฑ์ ๊ฐ๋
์ฑ์ด ๋์์ก๋ค.
npm์ npx๋ฅผ ์ ๊ณตํด ์ ์ญ ์ค์น๋ฅผ ํ์ง ์์๋ ํจํค์ง๋ฅผ ์คํํ ์ ์๋ค.
npm registry๋ npm์ ๊ธฐ๋ฅ์ผ๋ก ํจ์งํค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ด์ํด
๋ ์ง์คํธ๋ฆฌ์ ๋ฑ๋ก ๋ ์๋นํ ์คํ ์์ค ํจํค์ง๋ค์ ๊ฒ์ํ๊ณ ์ฌ์ฉํ ์ ์๋ค.
์ด์ ์ ์๋๊ฒ ์ง๋ง
npm์ ์ค๋ ์ฌ์ฉ๋๋งํผ ์ฌ์ค ๊ฐ๋ฐ์๋ค์ ์ ํธ๋๋
์ ๋ขฐ๋๊ฐ yarn์ ๋นํด ๋์ ํธ์ด๋ผ๊ณ ์๋ ค์ ธ์๋ค.