Skip to content

Latest commit

 

History

History
185 lines (120 loc) · 2.95 KB

05_NPM.md

File metadata and controls

185 lines (120 loc) · 2.95 KB

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
└─┬ [email protected]
 ├─┬ [email protected]
 │ ├─┬ [email protected]
 │ │ └── [email protected]
 │ └── [email protected]
 .... 길어서 생략....
 │ └── [email protected]
 ├── [email protected]
 └── [email protected]
  • 현재 경로가 아닌 /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 에서 검색하기!