• npm๊ณผ yarn์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ธ ๋…ธ๋“œ(Node.js)์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ž„
  • ์ „ ์„ธ๊ณ„์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋ฅผ npm ์˜จ๋ผ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (opens new window)์— ์˜ฌ๋ฆฌ๋ฉด npm, yarn๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ํ†ตํ•ด ์„ค์น˜ ๋ฐ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•จ
  • ๊ทธ๋ฆฌ๊ณ  ๋ช…๋ น ์ค„ ์ธํ„ฐํŽ˜์ด์Šค(Command-line interface, CLI)๋ฅผ ํ†ตํ•ด ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์‚ญ์ œ๋ฟ ์•„๋‹ˆ๋ผ ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์˜์กด์„ฑ ๊ด€๋ฆฌ๋„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Œ

01. npm

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

npm ์„ค์น˜

  • ๋…ธ๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ฉด npm์ด ์ž๋™์œผ๋กœ ์„ค์น˜๋จ
  • node -v or npm -v๋ฅผ ์‚ฌ์šฉํ•ด npm์ด ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ

02. yarn

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

yarn ์„ค์น˜

  • yarn์€ npm์„ ํ†ตํ•ด ์„ค์น˜ํ•จ
  • npm install yarn --global
  • mac user๋ผ๋ฉด brew๋ฅผ ํ†ตํ•ด ์„ค์น˜ ํ•  ์ˆ˜๋„ ์žˆ์Œ
  • brew update -> brew install yarn

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

์†๋„

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

๋ณด์•ˆ

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

๋ช…๋ น์–ด

๋ช…๋ น์–ด npm yarn
dependencies\n์„ค์น˜ npm install yarn
ํŒจํ‚ค์ง€ ์„ค์น˜ npm install [ํŒจํ‚ค์ง€๋ช…] yarn add [ํŒจํ‚ค์ง€๋ช…]
dev ํŒจํ‚ค์ง€ ์„ค์น˜ npm install โ€“save-dev [ํŒจํ‚ค์ง€๋ช…] yarn add โ€“dev [ํŒจํ‚ค์ง€๋ช…]
๊ธ€๋กœ๋ฒŒ ํŒจํ‚ค์ง€ ์„ค์น˜ npm install โ€“global [ํŒจํ‚ค์ง€๋ช…] yarn global add [ํŒจํ‚ค์ง€๋ช…] ย 
ํŒจํ‚ค์ง€ ์ œ๊ฑฐ npm uninstall [ํŒจํ‚ค์ง€๋ช…] yarn remove [ํŒจํ‚ค์ง€๋ช…]
dev ํŒจํ‚ค์ง€ ์ œ๊ฑฐ npm uninstall โ€“save-dev [ํŒจํ‚ค์ง€๋ช…] yarn remove [ํŒจํ‚ค์ง€๋ช…]
๊ธ€๋กœ๋ฒŒ ํŒจํ‚ค์ง€ ์ œ๊ฑฐ npm uninstall โ€“global [ํŒจํ‚ค์ง€๋ช…] yarn global remove [ํŒจํ‚ค์ง€๋ช…]
์—…๋ฐ์ดํŠธ npm update yarn upgrade
ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ npm update [ํŒจํ‚ค์ง€๋ช…] yarn upgrade [ํŒจํ‚ค์ง€๋ช…]

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ