JS๋ฐํ์ ํ๊ฒฝ์ธ ๋ ธ๋(Node.js)์ ํจํค์ง(npm์ ์ ๋ก๋๋ Node module) ๊ด๋ฆฌ์์ ๋๋ค.
๊ฐ๋ฐ ์ค ๋ค์ํ ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ค์ด๋ก๋, ์ค์น ์ ๋ฐ์ดํธ, ์์กด์ฑ ๋ฑ ๋ณต์กํ ์ํฉ์ด ์๊ธฐ๊ธฐ ๋ง๋ จ์ธ๋ฐ,
์๋ํํ์ฌ ํธ๋ฆฌํ๊ณ ์์ ํ๊ฒ ๊ด๋ฆฌํด ์ฃผ๊ฒ ๋ฉ๋๋ค.
npm
Node Package Manager๋ก Node.js์ ๊ธฐ๋ณธ ํจํค์ง ๊ด๋ฆฌ์์ ๋๋ค.
์ฌ๋๋ค์ด ๋ ธ๋ ํจํค์ง๋ฅผ ๋ง๋ค๊ณ , ์ ๋ก๋ํ๋ฉฐ ๊ณต์ ํ ์ ์๋ ๊ณต๊ฐ์ผ๋ก ๋๊ตฌ๋ ๊ฒ์๋ ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
https://www.npmjs.com/
yarn
ํ์ด์ค๋ถ์์ ๊ฐ๋ฐํ ํจํค์ง ๊ด๋ฆฌ์์ ๋๋ค.
npm๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ์๋๋ ์์ ์ฑ ์ธก๋ฉด์์ ํฅ์๋์ด npm์์ ๋ณด์๋ ํจํค์ง๊ด๋ฆฌ์๋ผ๊ณ ํ ์ ์์ต๋๋ค.
https://classic.yarnpkg.com/lang/en/
๋ช ๋ น์ด
๋ช ๋ น์ด | npm | yarn |
์ด๊ธฐํ | npm init | yarn init |
package.json ํจํค์ง ์ค์น | npm install | yarn / yarn install |
์์กด์ฑ ์ถ๊ฐ | npm install --save [package name] | yarn add [package name] |
๊ฐ๋ฐ ์์กด์ฑ์ผ๋ก ์ถ๊ฐ | npm install --save-dev [package name] | yarn add --dev [package name] |
์ ์ญ ์์ค์ผ๋ก ์ถ๊ฐ | npm install --global [package name] | yarn global add [package name] |
ํจํค์ง ์ญ์ | npm uninstall --save [package name] | yarn remove [package name]\ |
ํจํค์ง ์ ๋ฐ์ดํธ | npm update [package name] | yarn update [package name] |
์ ์ฒด ์ ๋ฐ์ดํธ | npm update | yarn update |
๋ช ๋ น์ด ๋จ์ถ
๋ช ๋ น์ด | ์๋ | ๋จ์ถ |
์ ์ญ์ค์น | global | -g |
์ค์น | install | i |
์ญ์ | uninstall | uni |
๊ฐ๋ฐ ์์กด์ฑ | --save-dev | -D |
์ ํํ ๋ฒ์ ์ผ๋ก ์ค์นญ | --save-exact | -E |
์ ํ์ฑ ์์กด์ฑ | --save-optional | -O |
ํจํค์ง ์ญ์ ํ ๋, uninstall ํ๊ธฐ๋ณด๋ค๋ package.json ํ์ผ ์ด์ด์ ํด๋น ํจํค์ง ์ง์ฐ๊ณ npm i๋ฅผ ์ฃผ๋ก ํ์์ต๋๋ค.
package.json
๊ฐ๋ฐ์๊ฐ ๋ฐฐํฌํ ํจํค์ง์ ๋ํด ๋ค๋ฅธ ์ฌ๋๋ค์ด ๊ด๋ฆฌํ๊ณ ์ค์นํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํ ํ์ผ์ ๋๋ค.
npm์ ์ฌ์ฉํ๊ธฐ ์ํ ํ๋ก์ ํธ์ ์์กด์ฑ ๊ด๋ฆฌ, ๋ฐฐํฌ๋ฅผ ์ํ ๋ช ์ธ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
- ํ๋ก์ ํธ๊ฐ ์์กดํ๋ ํจํค์ง ๋ฆฌ์คํธ
- ํจํค์ง ๋ฒ์ ๋ช ์
- ๋ค๋ฅธ ํ๊ฒฝ์์๋ ๋น๋๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฝ๊ฒ ์ฌ์ฉ
ํจํค์ง๋ฅผ ์ค์นํ๋ฉด node_modules ํด๋์ ์ ์ฅ๋๋๋ฐ,
์ด ํด๋๋ฅผ ํต์ฑ๋ก ๊ด๋ฆฌํ๊ธฐ์๋ ๋ฌด๊ฒ๊ธฐ ๋๋ฌธ์ package.json ํ์ผ๋ง ๊ด๋ฆฌํฉ๋๋ค.
package.jsonํ์ผ ์ธํ ํ, npm i ๋ช ๋ น์ด๋ฅผ ์คํํ๊ฒ ๋๋ฉด ํด๋น ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ ํจํค์ง๊ฐ ์ ๋ถ ์ค์น๋ฉ๋๋ค.
package-lock.json์ ์ฌ์ฉํ๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์กดํ๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ํํ ์ ๋ณด๋ก ๋ณด์๋ฉด ๋ฉ๋๋ค.
npm์ ๊ฐ์ ํ์ฌ yarn์ด ๊ฐ๋ฐ๋์ง๋ง, ํ์ฌ๋ ์์ ์ฑ์ด๋ ์๋์ ์ธ ์ธก๋ฉด์์ ํฐ ์ฐจ์ด ์๋ค๊ณ ํฉ๋๋ค.
๊น๊ฒ ์ฐพ์๋ณด๋ฉด ์ข ๋ ๋ค๋ฅด๊ฑฐ๋ ์ฐ์๋ฅผ ๊ฐ๋ ๊ฒ์ด ์์ ๊ฒ ๊ฐ์ง๋ง,
์์ฑ์๊ฐ ๋๋ผ๊ธฐ์๋ ํฐ ์ฐจ์ด๊ฐ ์์ ๊ฒ์ผ๋ก ๋ณด์ด๊ณ ,
ํฌ๊ฒ ์ฒด๊ฐ๋์ง ์์ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. (๋งน์ ํ ๊ฒ ์์ด ํ๋ก์ ํธ ์งํํ ๋๋ง๋ค ๊ณจ๋์ผ๋ฉด ๋ ๋ฏ)