[์š”์•ฝ] NPM (Node Package Manager)

Jay Kimยท2020๋…„ 4์›” 28์ผ
0

์š”์•ฝ ๋ฐ ์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

๐Ÿ“ ์ฃผ์š” ๊ฐœ๋…

  • NPM : Node Package Manager

  • node_modules : ์‹ค์ œ ๋ชจ๋“ˆ์ด ์ €์žฅ๋œ ๋””๋ ‰ํ† ๋ฆฌ

  • package.json : ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“ˆ, ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ‚ค์‹œ๋Š” ๋ฐฉ๋ฒ•, ํ”„๋กœ๊ทธ๋žจ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์ด ๋ช…์‹œ๋œ ํŒŒ์ผ

    • dependencies : ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋ชจ๋“ˆ ๋ช…์‹œ
    • devDependencies : ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๋™์ž‘์— ์ง์ ‘์ ์œผ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ชจ๋“ˆ ๋ช…์‹œ
    • scripts : npm์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด ๋ช…์‹œ
  • ๊ธ€๋กœ๋ฒŒ ํŒจํ‚ค์ง€ (-g) : ํŒจํ‚ค์ง€๋ฅผ ๊ธ€๋กœ๋ฒŒ ํŒจํ‚ค์ง€์— ์ถ”๊ฐ€ ์‹œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—๋„ ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ


โŒจ ๋ช…๋ น์–ด ๋ชจ์Œ

#์„ค์น˜

npm install : package.json์— ๋ช…์‹œ๋œ ํŒจํ‚ค์ง€ ๋ชจ๋‘ ์„ค์น˜ / node_modules ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
npm install [์„ค์น˜ํ•  ํŒจํ‚ค์ง€] : ํ•ด๋‹น ํŒจํ‚ค์ง€์˜ ์ตœ์‹  ๋ฒ„์ „ ์„ค์น˜
npm install [์„ค์น˜ํ•  ํŒจํ‚ค์ง€@version] : ํ•ด๋‹น ํŒจํ‚ค์ง€์˜ ํŠน์ • ๋ฒ„์ „ ์„ค์น˜
npm install [์ฃผ์†Œ] : ํŠน์ •ํ•œ ์ €์žฅ์†Œ(์ฃผ๋กœ Github)์— ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜

(์˜ต์…˜)
--save ๋˜๋Š” -S : dependencies ์— ์ถ”๊ฐ€
--save-dev ๋˜๋Š” -D : devDependencies ์— ์ถ”๊ฐ€
-g : ๊ธ€๋กœ๋ฒŒ ํŒจํ‚ค์ง€์— ์ถ”๊ฐ€

(์ฐธ๊ณ )
npm install -g npm : npm ์—…๋ฐ์ดํŠธ

#์‚ญ์ œ

npm uninstall [์‚ญ์ œํ•  ํŒจํ‚ค์ง€] : ํŒจํ‚ค์ง€ ์‚ญ์ œ

npm dedupe : ์ค‘๋ณต๋œ ํŒจํ‚ค์ง€ ์ •๋ฆฌ

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

npm update : ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ

npm outdated : ๋ฒ„์ „์ด ์˜ค๋ž˜๋œ ํŒจํ‚ค์ง€ ์ถœ๋ ฅ

  • ๋นจ๊ฐ„์ƒ‰ : ์˜ค๋ž˜๋˜๊ณ , package.json์— ์ ์–ด๋‘” ๋ฒ„์ „ ๋ฒ”์œ„์™€ ์ผ์น˜
  • ๋…ธ๋ž€์ƒ‰ : ์˜ค๋ž˜๋˜์—ˆ์ง€๋งŒ, package.json์— ์ ์–ด๋‘” ๋ฒ„์ „ ๋ฒ”์œ„์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์Œ

#์กฐํšŒ

npm root : node_modules์˜ ์œ„์น˜ ์ถœ๋ ฅ

npm ls : ํ˜„์žฌ ์„ค์น˜๋œ ํŒจํ‚ค์ง€ ์กฐํšŒ *dependencies ๋ฅผ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ํ‘œํ˜„
npm ls [ํŒจํ‚ค์ง€] : ํ•ด๋‹น ํŒจํ‚ค์ง€ ์กด์žฌ ์—ฌ๋ถ€ / ํ•ด๋‹น ํŒจํ‚ค์ง€๊ฐ€ ์–ด๋–ค ํŒจํ‚ค์ง€์˜ dependencies ์ธ์ง€ ์ถœ๋ ฅ
npm || : npm ls๋ณด๋‹ค ์ž์„ธํ•œ ์ •๋ณด ์ถœ๋ ฅ

npm search : npm ์ €์žฅ์†Œ์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๊ฒ€์ƒ‰ (ํŒจํ‚ค์ง€ ์ด๋ฆ„, ์„ค๋ช…, ํ‚ค์›Œ๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ถœ๋ ฅ)

#์‹คํ–‰

npm start : package.json์˜ scripts ์— ์žˆ๋Š” start ๋ช…๋ น์–ด ์‹คํ–‰
(๋งŒ์•ฝ start ๋ช…๋ น์–ด๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์ง€์•Š๋‹ค๋ฉด node server.js๊ฐ€ ์‹คํ–‰๋จ)
npm stop : npm startํ–ˆ๋˜ ๊ฒƒ์„ ์ค‘์ง€
npm restart : npm stop ํ›„, ๋‹ค์‹œ npm start

npm test : test ๋ช…๋ น์–ด ์‹คํ–‰

npm run : ์œ„ ๋ช…๋ น์–ด(start, stop, restart, test) ์ด์™ธ์˜ scripts ์•ˆ์— ์žˆ๋Š” ๋ช…๋ น์–ด ์‹คํ–‰

npx : ๋กœ์ปฌ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๋ชจ๋“ˆ์„ ์‹คํ–‰ํ•  ๋•Œ / ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ง์ ‘ ์‹คํ–‰ํ•  ๋•Œ

#์„ค์ •

npm cache : npm ๋‚ด์˜ cache ์ •๋ณด ์ถœ๋ ฅ
npm cache clean : npm ๋‚ด์˜ cache ์‚ญ์ œ (npm์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ํ•˜๋Š” ๊ฒƒ)

npm rebuild : npm ์žฌ์„ค์น˜ (npm cache clean ํ›„ ์ฃผ๋กœ ์‚ฌ์šฉ)

npm config list : ํ˜„์žฌ npm์˜ ์„ค์ • ์ •๋ณด ์ถœ๋ ฅ
npm set [์ด๋ฆ„] [๊ฐ’] : ํ•ด๋‹น ํŒŒ์ผใ†๋””๋ ‰ํ† ๋ฆฌ์˜ npm ์„ค์ • ์ถ”๊ฐ€
npm get [์ด๋ฆ„] : ํ•ด๋‹น ํŒŒ์ผใ†๋””๋ ‰ํ† ๋ฆฌ์˜ npm ์„ค์ • ์กฐํšŒ

profile
minuzai

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