NPM

NPM (Node Package Manager) ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

  1. NPMSearch ์—์„œ ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•œ Node.js ํŒจํ‚ค์ง€/๋ชจ๋“ˆ ์ €์žฅ์†Œ

  2. Node.js ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๋ฒ„์ „ / ํ˜ธํ™˜์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ์œ ํ‹ธ๋ฆฌํ‹ฐ

npm ์„ค์น˜ ํ™•์ธ

$ npm --version
6.13.4

npm version update

sudo npm install npm -g

Installing Modules using NPM

Syntax to install any Node.js module

npm install <Module Name>

Install a famous Node.js web framework module called express

npm install express

Now you can use this module in your js file as following

var express = require('express');

Global vs Local Installation

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” npm ์€ module์„ local mode๋กœ ์„ค์น˜

  • Local mode

    : package๋ฅผ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ directory ์•ˆ์— ์žˆ๋Š” node_modules์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

  • Global mode

    : System directory์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

express๋ฅผ ๊ธ€๋กœ๋ฒŒ mode๋กœ ์„ค์น˜ํ•˜๊ธฐ

$ sudo npm install express -g
/usr/lib
โ””โ”€โ”ฌ express@4.13.4
 โ”œโ”€โ”ฌ accepts@1.2.13
 โ”‚ โ”œโ”€โ”ฌ mime-types@2.1.9
 โ”‚ โ”‚ โ””โ”€โ”€ mime-db@1.21.0
 โ”‚ โ””โ”€โ”€ negotiator@0.5.3
 .... ๊ธธ์–ด์„œ ์ƒ๋žต....
 โ”‚ โ””โ”€โ”€ statuses@1.2.1
 โ”œโ”€โ”€ utils-merge@1.0.0
 โ””โ”€โ”€ vary@1.0.1
  • ํ˜„์žฌ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ /usr/lib/node_modules ์— ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ ํ™•์ธ ๊ฐ€๋Šฅ

  • system์— ์ €์žฅํ•˜๋ฏ€๋กœ, root ๊ณ„์ •์ด ์•„๋‹ˆ๋ผ๋ฉด ์•ž์— sudo๋ฅผ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•จ!

  • Global mode ๋กœ ์„ค์น˜ํ•˜์˜€์„๋•Œ๋Š”, node application์—์„œ ๋ฐ”๋กœ require ํ•  ์ˆ˜๋Š” ์—†์Œ

    • but, npm link ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ•ด๋‹น module์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ

    npm install -g express
    cd [local path]/project
    npm link express

package.json

: Node application / module์˜ ๊ฒฝ๋กœ์— ์œ„์น˜ํ•ด ์žˆ์œผ๋ฉฐ pacakge์˜ ์†์„ฑ์„ ์ •์˜ํ•จ

express๋กœ project๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ์ƒ์„ฑ๋˜๋Š” package.json

{
  "name": "myapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "express": "~4.13.1",
    "jade": "~1.11.0",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0"
  }
}
  • package.json์€ project๊ฐ€ ์˜์กดํ•˜๋Š” module๊ณผ module version์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ์Œ

Uninstalling a Module

npm uninstall express

Updating a Module

npm update express

Search a Module

npm search express
  • ์ด ๋ช…๋ น์–ด๋Š” ์ฒ˜์Œ ์ด์šฉํ•  ๋•Œ memory ์—„์ฒญ ์žก์•„๋จน์Œ

    • Cloud IDE๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ server์— ram์ด 1G ์ •๋„๋ผ๋ฉด ๋งค์šฐ ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ ์—๋Ÿฌ๊ฐ€ ๋‚จ

    • ๊ทธ๋Ÿด๋• NPMSearch ์—์„œ ๊ฒ€์ƒ‰ํ•˜๊ธฐ!

Last updated

Was this helpful?