๐Ÿ‘€ npm๊ณผ yarn์˜ ์ฐจ์ด

๊ณฝํƒœ๋ฏผยท2023๋…„ 3์›” 24์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
55/63

npm๊ณผ yarn


๐Ÿ’ก `npm`๊ณผ `yarn`์€ `Javascript` ๋Ÿฐํƒ€์ž… ํ™˜๊ฒฝ์ธ `Node.js`์˜ Pacakge ๊ด€๋ฆฌ์ž์ด๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์ด ์˜ฌ๋ฆฐ `Javascript`๋กœ ๋งŒ๋“  Package๋ฅผ `npm`๊ณผ `yarn`์„ ์ด์šฉํ•ด์„œ ์„ค์น˜์™€ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  `CLI` `(Command-line interface: ๋ช…๋ น ์ค„ ์ธํ„ฐํŽ˜์ด์Šค)`๋ฅผ ํ†ตํ•˜์—ฌ Package ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋„ ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

npm


npm์€ Node Package Manager์˜ ์•ฝ์ž๋กœ Node.js๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์„ค์น˜๋˜๋Š” ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ด๋‹ค. ์—ฌ๊ธฐ์„œ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  1. ์˜จ๋ผ์ธ ํ”Œ๋žซํผ ์—ญํ• ์„ ํ•œ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ๋…ธ๋“œ ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋“ค๊ณ , ์—…๋กœ๋“œํ•˜๋ฉฐ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์œผ๋กœ ๋ˆ„๊ตฌ๋“ ์ง€ npm ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๊ฒŒ์‹œ๊ฐ€ ๋œ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๋ช…๋ น ์ค„ ์ธํ„ฐํŽ˜์ด์Šค ( CLI )๋‹ค. ์˜จ๋ผ์ธ ํ”Œ๋žซํผ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•˜์—ฌ CLI๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŒจํ‚ค์ง€ ์„ค์น˜์™€ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • npm ์„ค์น˜ npm์€ node.js๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์„ค์น˜๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์—, node.js๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ npm์˜ ๋ฒ„์ ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    node -v
    npm -v

yarn


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

  • yarn ์„ค์น˜ yarn์„ ์„ค์น˜ํ•  ๋•Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด npm์„ ํ†ตํ•ด์„œ ์ „์—ญ์— ์„ค์น˜ํ•œ๋‹ค.
    npm install yarn -g
    mac์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด brew๋กœ๋„ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    brew update
    brew intall yarn

npm๊ณผ yarn์˜ ์ฐจ์ด์ 


1. ์†๋„

npm๊ณผ yarn์˜ ํฐ ์น˜์ด์ ์€ Package์„ค์น˜ Proccess๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. npm์€ Package๋ฅผ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ค์น˜ํ•˜์ง€๋งŒ yarn์€ ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ๋™์‹œ์— ๊ฐ€์ ธ์™€ ์„ค์น˜ํ•˜๋„๋ก ์ตœ์ ํ™”๊ฐ€ ๋˜์–ด ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์†๋„์  ์ธก๋ฉด์—์„œ๋Š” yarn์ด npm๋ณด๋‹ค ๋” ๋น ๋ฅด๋‹ค.

2. ๋ณด์•ˆ

yarn์€ ๋ณด์•ˆ ์ธก๋ฉด์—์„œ npm๋ณด๋‹ค ๋” ์•ˆ์ „ํ•œ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. npm์€ ์ž๋™์œผ๋กœ Package์— ํฌํ•จ์ด ๋œ Package ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋กœ์จ ๋ณด์•ˆ ์‹œ์Šคํ…œ์— ๋ช‡ ๊ฐ€์ง€์˜ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒ๋˜๋ฉด์„œ ์ถ”ํ›„์—๋Š” ํฐ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด์— yarn์€ yarn.lock ํ˜น์€ package.json ํŒŒ์ผ์— ์žˆ๋Š” ํŒŒ์ผ๋งŒ์„ ์„ค์น˜ํ•œ๋‹ค. ๋ณด์•ˆ์€ yarn์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ง€๋งŒ ์ตœ๊ทผ์—๋Š” npm์˜ ์—…๋ฐ์ดํŠธ๋กœ npm์˜ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋„ ํฌ๊ฒŒ ํ–ฅ์ƒ์ด ๋˜์—ˆ๋‹ค.

๋ช…๋ น์–ด


๋ช…๋ น์–ดnpmyarn
dependencies ์„ค์น˜npm installyarn
Package ์„ค์น˜npm install [ํŒจํ‚ค์ง€๋ช…]yarn add [ํŒจํ‚ค์ง€๋ช…]
Dev Package ์„ค์น˜npm install -D [ํŒจํ‚ค์ง€๋ช…]yarn add -D [ํŒจํ‚ค์ง€๋ช…]
Global Package ์„ค์น˜npm install -g [ํŒจํ‚ค์ง€๋ช…]yarn golbal add [ํŒจํ‚ค์ง€๋ช…]
Package ์ œ๊ฑฐnpm unintall [ํŒจํ‚ค์ง€๋ช…]yarn remove [ํŒจํ‚ค์ง€๋ช…]
Dev Package ์„ค์น˜npm unintall -D [ํŒจํ‚ค์ง€๋ช…]yarn remove -D [ํŒจํ‚ค์ง€๋ช…]
Global Package ์„ค์น˜npm unintall -g [ํŒจํ‚ค์ง€๋ช…]yarn global remove [ํŒจํ‚ค์ง€๋ช…]
Updatenpm updateyarn upgrade
Package Updatenpm update [ํŒจํ‚ค์ง€๋ช…]yarn upgrade [ํŒจํ‚ค์ง€๋ช…]

๊ฒฐ๋ก 


npm๊ณผ yarn์€ ์ข…์†์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์ข‹์œผ๋ฉฐ, Package๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์ข‹์€ ํˆด์ด๋‹ค. ๋‘˜ ๋‹ค ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๋ฉด์„œ ๊ฐœ์„ ์ด ๋˜๊ณ , ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜๋ฉด์„œ ์ด ๋‘˜์˜ ์ฐจ์ด๊ฐ€ ๊ฑฐ์˜ ์ฐจ์ด๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜ ์ค‘ ๋ฌด์—‡์ด ์ข‹๋ƒ๋ณด๋‹ค๋Š” ๊ฐœ์ธ์˜ ์ทจํ–ฅ์ด๋‚˜ Package ์„ค์น˜ ์†๋„ ๋“ฑ ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฑฐ ๊ฐ™๋‹ค.

profile
Node.js ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค!

0๊ฐœ์˜ ๋Œ“๊ธ€