nodejs에서 서드파티 모듈을 설치하고 GIT이나 SVN으로 버전관리를 하는 경우

서드파티 모듈을 관리 하는 2가지방법이 있다.


1. npm install --save [서드파티모듈]

첫번째로 서드파티 모듈을 npm으로 설치할때 --save옵션을 주게 되면

package.json의 dependencies에 서드파티 모듈의 정보가 쌓이게 된다.

{

  "name": "",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "repository": {

    "type": "git",

    "url": ""

  },

  "author": "",

  "license": "ISC",

  "dependencies": {

    "body-parser": "^1.15.2",

    "cors": "^2.8.1",

    "ejs": "^2.5.5",

    "express": "^4.14.0",

    "formidable": "^1.0.17",

    "lwip": "0.0.9",

    "mongoose": "^4.7.6"

  }

}

버전 관리를 할때는 node_modules을 제외하고 커밋한 후에 다른 곳에서 개발을 할때는 npm install을 통해 

dependencies의 서드파티모듈을 다운받아 개발을 진행하면 된다. 하지만 이럴경우 dependencies의 서드파티 모듈의 버전 정보가 정확히 기입되어 있어야 서드파티 모듈의 버전이 달라져서 생기는 오류를 피할수있다.

예를들어 ejs: ">=2.5.5"라고 되어있다면 2.5.5이상의 버전을 받기 때문에 만약 상위 버전으로 업데이트가 되었고 호환되지 않는다면

에러가 발생할수도있다.


2. npm install --ignore-script

두번째로  서드파티 모듈을 npm으로 설치할때 --ignore-script옵션을 주게 되면 빌드 되지 않은 형태로 node_modules에 다운로드 되게된다.

버전 관리를 한때는 node_modules를 포함하여 커밋을 하고 다른 곳에서 개발을 할때는 npm rebuild를 통해

빌드가 필요한 모듈을 빌드하여 개발을 진행할 수 있다. 이 경우 서드파티 모듈을 다운받을 필요가 없기때문에 인터넷이 되지 않는곳에서 유용하게 사용할수있고 서드파티 모듈의 버전이 달라 지는 경우가 없기때문에 버전 관리 툴을 통해 새로운 환경에서 개발할때 에러 발생 없이 작업을 진행할 수 있는 장점이 있다.

+ Recent posts