Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]

[NODE.JS를 하나도 모르는 사람의 딥러닝] 윈도우에서 NPM 을 이용하여 패키지 설치

2020. 12. 10. 11:31programming/node.js

728x90

(이 글은 2017년도에 작성된 글을 복원하였습니다.)

 

npm이 무엇인지 알아볼까요

Node Package Manager의 약자로 Node js 에서 사용되는 모듈을 모아둔 패키지 꾸러미라고 생각하면 됩니다.

최근 node js 의 버전은 node js 를 설치하면 npm도 같이 설치되기 때문에 어렵지 않습니다.

cmd 창을 열고 npm -v 를 입력하면 현재 npm 버전정보를 알 수 있습니다.

npm -help 를 입력하면 npm 관련 명령어를 자세히 볼 수 있습니다.

 

 

패키지를 설치하고자 할 때 npm install 패키지명 을 입력하면 됩니다.

node js 프로젝트에서 package.json 으로 만들어지는 파일은 npm 패키지를 관리할 수 있는 dependencies 가 있습니다.

npm을 통해서 일일히 작성하지 않아도 package.json 을 자동적으로 생성하는 명령어를 통해 생성하는 방법을 알아보겠습니다.

 

> npm init 이라는 명령어를 입력하면 package.json 파일을 생성할 수 있게 정보를 입력하도록 단계별로 진행이 됩니다.

 

해당 정보를 입력한 결과 package.json 파일을 보면 다음과 같습니다.

 

{
  "name": "shop-nodejs",
  "version": "1.0.0",
  "description": "nodejs 로 구현하는  쇼핑몰 예제 프로젝트 깃허브 입니다.",
  "main": "index.js",
  "scripts": {
    "start": "nodemon ./app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/cooingpop/shop-nodejs.git"
  },
  "author": "cooingpop",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/cooingpop/shop-nodejs/issues"
  },
  "homepage": "https://github.com/cooingpop/shop-nodejs#readme",
  "dependencies": {
    "body-parser": "^1.17.2",
    "ejs": "^2.5.6",
    "express": "^4.15.3",
    "mongodb": "^2.2.30",
    "mongoose": "^4.11.3",
    "mongoose-auto-increment": "^5.0.1",
    "morgan": "^1.8.2",
    "path": "^0.12.7"
  }
}

package.json 안에 dependencies 에는 프로젝트에 포함되어 있는 모듈을 관리할 수 있도록 작성되어 있습니다.

프로젝트에 모듈이 포함되어 있지 않아도 dependencies에 있는 모듈 리스트를 통해 한 번에 설치할 수 있습니다.

npm update 라는 명령어를 사용합니다.

node js 프로젝트가 설치되어 있는 폴더에서

> npm list 를 입력하면  

현재 설치되어 있는 모듈을 리스트로 볼 수 있으며,

 

npm list 를 했는데 아래처럼 npm ERR! missing 이 뜬다면

dependencies에는 있지만 현재 프로젝트에 아래 모듈들이 포함되어 있지 않다는 뜻입니다.

 

 

npm install  패키지명을 통해 설치하지만 package.json 에 dependencies를 이용해서 전부 설치하고자 할 때

명령어를 입력하는 최상위 경로를 package.json 이 있는 곳에 두고,  npm install 을 입력하면 package.json에 있는

dependencies 에 포함된 모든 모듈을 설치합니다. 만약 package.json이 없는 곳에서 npm install 만 입력하면 오류가 나겠죠.

 

> npm list -g –depth=0

 설치되어 있는 패키지 중에서 깊이가 0 인 모듈만을 출력하는 명령어 입니다.

express 패키지를 설치해볼까요.

> npm install –save express

 

npm install –save 모듈명 을 통해 패키지를 설치할 경우에는 해당 모듈을 설치하면서 package.json 에 있는 dependencies에 

자동적으로 추가한다는 옵션 명령어 입니다. –save를 통해서 모듈을 설치하는 편이 나중에 프로젝트 관리에는 효율이 높겠죠.

 

위에 package.json에 dependencies에는 모듈이름 : “버전” 이 처럼 명시되어 있는데 버전이 좀 더 높거나 낮아도 가능한 경우도

있겠죠.

이 때, 버전에도 옵션을 사용해서 관리할 수 있습니다.

version :  완전히 일치하는 버전

= version : 완전히 일치

<version : 해당 버전보다 작은 버전

<=version : 해당 버전과 같거나 작은 버전

>version : 해당 버전보다 높은 버전

>=version : 해당 버전과 같거나 높은 버전

~ version :  ~ 버전 범위 ex) ~1.0    1.0 부터 2.0보다 작은 버전

버전을 직접적으로 표기 가능합니다. 1.5.x

관련해서 더 상세한 내용은 https://docs.npmjs.com/files/package.json

package.json docs에서 볼 수 있습니다.

소스의 변화를 감지하여 자동적으로 서버를 재시작하도록 도와주는 nodemon을 설치해보겠습니다.

 

nodemon 모듈을 설치하고 package.json에 scripts 부분을 다음과 같이 수정합니다.

  "scripts": {
    "start": "nodemon ./app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }

“start” : “nodemon ./app.js” 을 추가하도록 합니다.

실행시 app.js를 첫 시작으로 하며, nodemon 명령어로 실행하라는 뜻입니다.

아래와 같이 실행합니다.

 

js 소스가 변경될 때마다 nodemon이 감지하여 서버를 자동 재시작합니다.

 

다음 포스팅에서는 MongoDB 를 설치하는 방법을 알아볼게요~!

 

Continue to code. CTC.

728x90