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