์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[Node.js] 5์žฅ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €

22-23/22-23 Node.js

by dev otcroz 2022. 10. 13. 10:00

๋ณธ๋ฌธ

728x90

๐Ÿ” npm 

npm์€ Node Package Manager(๋…ธ๋“œ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €)์˜ ์•ฝ์–ด๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋žจ์€ ํŒจํ‚ค์ง€๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ npm์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. ํŠน์ • ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด npm ์—์„œ ์ฐพ์•„ ์„ค์น˜ํ•œ๋‹ค.

 

โœ… ํŒจํ‚ค์ง€

npm์— ์—…๋กœ๋“œ๋œ ๋…ธ๋“œ ๋ชจ๋“ˆ์„ ํŒจํ‚ค์ง€๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ ๊ด€๊ณ„๋ฅผ ์˜์กด ๊ด€๊ณ„๋ผ ๋ถ€๋ฅธ๋‹ค.

 

โœ… yarn

npm์˜ ๋Œ€์ฒด์ž๋กœ yarn์ด ์žˆ๋‹ค. yarn์€ ํŽ˜์ด์Šค๋ถ์ด ๋‚ด๋†“์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ, ๋ฆฌ์•กํŠธ๋‚˜ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ™์€ ํŽ˜์ด์Šค๋ถ ์ง„์˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์ด ๋“ค์–ด์žˆ์ง€๋งŒ ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋ฉฐ, npm ์„œ๋ฒ„๊ฐ€ ๋Š๋ฆด ๊ฒฝ์šฐ yarn์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋Œ€์‹  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Home

Fast, reliable, and secure dependency management.

yarnpkg.com

 

๐Ÿ” package.json ์œผ๋กœ ํ•˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ 

์‚ฌ์šฉํ•  ํŒจํ‚ค์ง€๋Š” ์ €๋งˆ๋‹ค ๊ณ ์œ ํ•œ ๋ฒ„์ „์ด ์žˆ์œผ๋ฏ€๋กœ ์–ด๋”˜๊ฐ€์— ๊ธฐ๋กํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค. ๊ฐ™์€ ํŒจํ‚ค์ง€๋ผ๋„ ๋ฒ„์ „๋ณ„๋กœ ๊ธฐ๋Šฅ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ์„ค์น˜ ์‹œ ํŒจํ‚ค์ง€๋„ ๋™์ผํ•œ ๋ฒ„์ „์„ ์„ค์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ํŒŒ์ผ์ด package.json์ด๋‹ค. 

 

๐Ÿ“Œ ๋…ธ๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

ํด๋” ๋‚ด๋ถ€์— ๋ฌด์กฐ๊ฑด package.json๋ถ€ํ„ฐ ๋งŒ๋“ค๊ณ  ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค. npm์—์„œ package.json์„ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

โœ… ๋ผ์ด์„ ์Šค

๋ผ์ด์„ ์Šค(license)๋ณ„๋กœ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฏ€๋กœ ์„ค์น˜ ์ „์— ๋ฐ˜๋“œ์‹œ ๋ผ์ด์„ ์Šค๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ISC, MIT, BSC ๋ผ์ด์„ ์Šค๋ฅผ ๊ฐ€์ง„ ํŒจํ‚ค์ง€ ์‚ฌ์šฉ ์‹œ์—๋Š” ์‚ฌ์šฉํ•œ ํŒจํ‚ค์ง€์™€ ๋ผ์ด์„ ์Šค๋งŒ ๋ฐํžˆ๋ฉด ์ž์œ ๋กœ์šด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„ํŒŒ์น˜ ๋ผ์ด์„ ์Šค ํŒจํ‚ค์ง€๋Š” ์‚ฌ์šฉ์ด ์ž์œ ๋กญ์ง€๋งŒ ํŠนํ—ˆ๊ถŒ์— ๋Œ€ํ•œ ์ œํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. GPL ๊ณ„์—ด์˜ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•  ๋•Œ๋Š” ์ž์‹ ์˜ ํŒจํ‚ค์ง€๋„ GPL๋กœ ๋ฐฐํฌํ•˜๊ณ  ์†Œ์Šค ์ฝ”๋“œ๋„ ๊ณต๊ฐœํ•ด์•ผ ํ•œ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ์‚ฌ์šฉ ์ „ ๋ผ์ด์„ ์Šค๋ฅผ ํ™•์ธํ•˜๊ณ  ์„ธ๋ถ€๋‚ด์šฉ์„ ์ฝ์–ด๋ณด์•„์•ผ ํ•œ๋‹ค.

 

๐Ÿ” package.json ์˜ˆ์‹œ 

{
  "name": "npmtest",
  "version": "0.0.1",
  "description": "hello package.json",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Dori",
  "license": "ISC"
}

scripts ๋ถ€๋ถ„์€ npm ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์ฝ˜์†”์—์„œ npm run [์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น์–ด]๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ๋ณดํ†ต start ๋ช…๋ น์–ด์— node [ํŒŒ์ผ๋ช…]์„ ์ €์žฅํ•ด๋‘๊ณ  npm start๋กœ ์‹คํ–‰ํ•œ๋‹ค. start๋‚˜ text ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๋Š” run์„ ๋ถ™์ด์ง€ ์•Š์•„๋„ ์‹คํ–‰๋œ๋‹ค. 

 

โœ… ํŒจํ‚ค์ง€ ์„ค์น˜

npm install [ํŒจํ‚ค์ง€ ์ด๋ฆ„]์„ package.json์ด ์žˆ๋Š” ํด๋”์˜ ์ฝ˜์†”์— ์ž…๋ ฅํ•œ๋‹ค. npm install [ํŒจํ‚ค์ง€1] [ํŒจํ‚ค์ง€2] [...]์™€ ๊ฐ™์ด ๋ชจ๋“ˆ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋™์‹œ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ… audited [์ˆซ์ž] packages

found [๋ฐœ๊ฒฌ ์ˆซ์ž] [์‹ฌ๊ฐ๋„] severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

ํŒจํ‚ค์ง€ ์„ค์น˜ ์‹œ audited [์ˆซ์ž] packages๋ผ๋Š” ๋ฌธ์žฅ์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ, ์ด๋Š” ํŒจํ‚ค์ง€์— ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์„ ์ž๋™์œผ๋กœ ๊ฒ€์‚ฌํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. npm audit์€ ํŒจํ‚ค์ง€์˜ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์ ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์ผ๋ถ€ ํŒจํ‚ค์ง€๋Š” ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”๋ฐ, npm audit์„ ํ†ตํ•ด ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ๋‹ด๊ธด ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. npm audit fix๋ฅผ ์ž…๋ ฅํ•˜๋ฉด npm์ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์„ ์•Œ์•„์„œ ์ˆ˜์ •ํ•œ๋‹ค.

 

โœ… node_modules ํด๋”

ํ•ด๋‹น ํด๋” ์•ˆ์— ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€๋“ค์ด ๋“ค์–ด ์žˆ๋‹ค. ํŒจํ‚ค์ง€๋“ค์€ ์˜์กด ๊ด€๊ณ„๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํ˜€ ์žˆ๋‹ค.

 

๐Ÿ“Œ npx 

์ „์—ญ ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€๋Š” package.json์— ๊ธฐ๋ก๋˜์ง€ ์•Š์•„ ๋‹ค์‹œ ์„ค์น˜ํ•  ๋•Œ ์–ด๋ ค์›€์ด ๋”ฐ๋ฅธ๋‹ค.

$ npm install --save-dev rimraf
$ npx rimraf node_modules

 rimraf ๋ชจ๋“ˆ์„ package.json์˜ devDependencies ์†์„ฑ์— ๊ธฐ๋กํ•œ ํ›„, ์•ž์— npx ๋ช…๋ น์–ด๋ฅผ ๋ถ™์—ฌ ์‹คํ–‰ํ•˜๋ฉด ํŒจํ‚ค์ง€๋ฅผ ์ „์—ญ ์„ค์น˜ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ package.json์— ๊ธฐ๋ก๋˜๋ฏ€๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌ๋„ ์šฉ์ดํ•˜๋‹ค.

 

๐Ÿ” ๋…ธ๋“œ์˜ ํŒจํ‚ค์ง€ ๋ฒ„์ „ 

SemVer ๋ฐฉ์‹์˜ ๋ฒ„์ „ ๋„˜๋ฒ„๋ง์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ ํŒจํ‚ค์ง€๋“ค์˜ ๋ฒ„์ „์€ ํ•ญ์ƒ ์„ธ ์ž๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. SemVer์€ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ •ํ•˜๊ณ  ์˜ฌ๋ ค์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ทœ์น™์ด๋‹ค.

๋ฒ„์ „์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” major ๋ฒ„์ „์œผ๋กœ, 0์ด๋ฉด ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์ค‘์ด๋ผ๋Š” ๋œป์ด๊ณ  1๋ถ€ํ„ฐ๋Š” ์ •์‹ ๋ฒ„์ „์„ ์˜๋ฏธํ•œ๋‹ค.  major ๋ฒ„์ „์€ ํ•˜์œ„ ํ˜ธํ™˜์ด ์•ˆ ๋  ์ •๋„๋กœ ํŒจํ‚ค์ง€ ๋‚ด์šฉ์ด ์ˆ˜์ •๋˜์—ˆ์„ ๋•Œ ์˜ฌ๋ฆฐ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” minor ๋ฒ„์ „์œผ๋กœ ํ•˜์œ„ ํ˜ธํ™˜์ด ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์˜ฌ๋ฆฐ๋‹ค. 

์„ธ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” patch ๋ฒ„์ „์œผ๋กœ ๊ธฐ์กด ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด ์ˆ˜์ •ํ•œ ๊ฒƒ์„ ๋‚ด๋†“์•˜์„ ๋•Œ ์˜ฌ๋ฆฐ๋‹ค.

 

โœ… ๋ฒ„์ „์˜ ์•ž์˜ ^, ~, >, <

ํ•ด๋‹น ๋ฌธ์ž๋“ค์€ ๋ฒ„์ „์—๋Š” ํฌํ•จ๋˜์ง€ ์•Š์ง€๋งŒ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์–ด๋–ค ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋Š”์ง€ ์•Œ๋ฆฐ๋‹ค.

^๋Š” minor ๋ฒ„์ „๊นŒ์ง€๋งŒ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. npm i express@1.1.1์ด๋ผ๋ฉด 1.1.1์ด์ƒ๋ถ€ํ„ฐ 2.0.0๋ฏธ๋งŒ ๋ฒ„์ „๊นŒ์ง€ ์„ค์น˜๋˜๋ฉฐ, 1.x.x์™€ ๊ฐ™์ด ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.

~์€ patch ๋ฒ„์ „๊นŒ์ง€๋งŒ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. npm i express@1.1.1์ด๋ผ๋ฉด 1.1.1์ด์ƒ๋ถ€ํ„ฐ 1.2.0๋ฏธ๋งŒ ๋ฒ„์ „๊นŒ์ง€ ์„ค์น˜๋˜๋ฉฐ, 1.1.x์™€ ๊ฐ™์ด ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๐Ÿ” ๊ธฐํƒ€ npm ๋ช…๋ น์–ด 

npm outdated : ์—…๋ฐ์ดํŠธํ•  ์ˆ˜์žˆ๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Current์™€ Wanted๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ด๋‹ค.

npm update [ํŒจํ‚ค์ง€๋ช…] : ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค.

npm uninstall [ํŒจํ‚ค์ง€๋ช…] : ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” npm rm [ํŒจํ‚ค์ง€๋ช…]์œผ๋กœ ์ค„์—ฌ์“ธ ์ˆ˜ ์žˆ๋‹ค.

npm search [๊ฒ€์ƒ‰์–ด] : npm์˜ ํŒจํ‚ค์ง€๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

npm info [ํŒจํ‚ค์ง€๋ช…] : ํŒจํ‚ค์ง€์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

npm adduser : npm ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ ๋ช…๋ น์–ด์ด๋‹ค.

npm version [๋ฒ„์ „] : package.json์˜ ๋ฒ„์ „์„ ์˜ฌ๋ฆฐ๋‹ค.

npm deprecate [ํŒจํ‚ค์ง€๋ช…] [๋ฒ„์ „] [๋ฉ”์‹œ์ง€] : ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šด๋‹ค. ์ž์‹ ์˜ ํŒจํ‚ค์ง€์—๋งŒ ์ด ๋ช…๋ น์–ด๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ” ํŒจํ‚ค์ง€ ๋ฐฐํฌ 

1. npm ์›น ์‚ฌ์ดํŠธ์—์„œ ํšŒ์›๊ฐ€์ž…ํ•œ๋‹ค.

 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

 

2. ์ฝ˜์†”์—์„œ npm adduser ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ƒ์„ฑํ•œ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค. 

3. npm publish ๋ช…๋ น์–ด๋กœ ์ž์‹ ์ด ๋งŒ๋“  ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•œ๋‹ค.

 

๐Ÿ“Œ ์›ํ•˜๋Š” ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด?  

 npm info [ํŒจํ‚ค์ง€๋ช…]์„ ์ž…๋ ฅํ•˜๋ฉด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ด๋ฆ„์ด๊ณ , npm ERR! code E404๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์‚ฌ์šฉํ•ด๋„ ๋˜๋Š” ์ด๋ฆ„์ด๋‹ค.

npm์€ ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด ๊ฒน์น˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋งŒ์•ฝ ํ•ด๋‹น ํŒจํ‚ค์ง€๊ฐ€ ํ™œ๋ฐœํ•˜๊ฒŒ ์œ ์ง€๋˜๋‹ค๋ฉด, ๋‹ค๋ฅธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. npm owner ls [ํŒจํ‚ค์ง€๋ช…]์œผ๋กœ ํ•ด๋‹น ํŒจํ‚ค์ง€ ์ œ์ ์ž์˜ ์ด๋ฉ”์ผ์„ ํ™•์ธํ•˜๊ณ  ํŒจํ‚ค์ง€๋ฅผ ์œ ์ง€ ์ค‘์ธ์ง€ ๋ฌธ์˜ํ•˜๋Š” ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค.

 

โœ… ๋ฐฐํฌํ•œ ํŒจํ‚ค์ง€ ์‚ญ์ œ

๋ฐฐํฌํ•œ ํŒจํ‚ค์ง€๋Š” 72์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค. npm unpulish [ํŒจํ‚ค์ง€๋ช…] --force๋กœ ๋ฐฐํฌํ•œ ํŒจํ‚ค์ง€๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๋นˆ์นธ ๋ฌธ์ œ

1. ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋žจ์€ _ _ _๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ _ _ _์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. 

2. ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ ๊ด€๊ณ„๋ฅผ _ _  _ _๋ผ ๋ถ€๋ฅธ๋‹ค.

3.  ํŽ˜์ด์Šค๋ถ์ด ๋‚ด๋†“์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ, npm ์„œ๋ฒ„๊ฐ€ ๋Š๋ฆด ๊ฒฝ์šฐ _ _ _ _์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋Œ€์‹  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ํŒŒ์ผ์€  _ _ _ _ _ _ _ _ _ _ _ _์ด๋‹ค.

5. _ _ _ ๋ช…๋ น์–ด๋ฅผ ๋ถ™์—ฌ ์‹คํ–‰ํ•˜๋ฉด ํŒจํ‚ค์ง€๋ฅผ ์ „์—ญ ์„ค์น˜ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

6. ๋…ธ๋“œ ํŒจํ‚ค์ง€๋“ค์˜ ๋ฒ„์ „์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š”  _ _ _ _ _๋ฒ„์ „, ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” _ _ _ _ _๋ฒ„์ „, ์„ธ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” _ _ _ _ _๋ฒ„์ „์ด๋‹ค.

7. npm _ _ _ _ _ _ _ ๋ช…๋ น์–ด๋กœ ์ž์‹ ์ด ๋งŒ๋“  ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ ๋ฌธ์ œ

1. ์›ํ•˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋‹ค์‹œ ์‚ญ์ œํ•ด๋ณด์„ธ์š”.

2. ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์‚ญ์ œํ•ด๋ณด์„ธ์š”.

 

๋นˆ์นธ ๋ฌธ์ œ ๋‹ต

๋”๋ณด๊ธฐ

1. ํŒจํ‚ค์ง€, npm

2. ์˜์กด ๊ด€๊ณ„

3. yarn

4. package.json

5. npx

6. major, minor, patch

7. publish

 

์ฝ”๋“œ ๋ฌธ์ œ ๋‹ต

๋”๋ณด๊ธฐ

1. 

$ npm install [์›ํ•˜๋Š”ํŒจํ‚ค์ง€๋ช…]
$ npm uninstall [์›ํ•˜๋Š”ํŒจํ‚ค์ง€๋ช…]

2.

//index.js
module.exports = () => {
	return 'my package';
};
$ npm publish
$ npm info [ํŒจํ‚ค์ง€๋ช…]

$ npm unpublish [ํŒจํ‚ค์ง€๋ช…] --force
$ npm info [ํŒจํ‚ค์ง€๋ช…]

Node.js 

Editor : dori

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ