티스토리 뷰

너무 간단한 내용이라 ... 포스팅 하기도 좀 그렇지만 자주 쓰지 않는 방식은 기록하지 않으면 금방 잊어 버리기에 기록합니다.



1. Global 패키지 설치


 Global 패키지 설치는 nodejs 를 이용한 패키지 입니다. 하지만 한 어플에 제한되어 사용되는 것이 아닌 모듈이 시스템 전체에서 사용할수 있는 일종의 프로그램 설치 방법입니다. ( 간단한 예로 phonegap, coffee-script 가 있습니다. )


 npm -g install phonegap, npm -g install coffee-script




2. 앱의 기본 package.json 관리


 nodejs 에서는 package.json 을 이용하여 해당 앱의 의존성을 체크하여 모듈을 설치할 수 있습니다.

우선 package.json 을 이용하여 패키지를 설치하는 방법은 


npm install


 위의 명령어를 사용할경우 nodejs 는 해당폴더에 제작자가 작성해둔 package.json 을 읽어서 관련있는 모듈들을 설치하게 됩니다.


기본적으로 위와 같이 package.json 의 내용에 따라 node_modules 를 설치하게 됩니다.


그리고 package.json 은 아래와 같이 기본적으로 app 의 정보와 모듈들의 정보들을 json 의 형태로 담고 있습니다.


{
  "name": "unifiedAuthServer",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "bcrypt": "^0.8.0",
    "body-parser": "^1.9.2",
    "coffee-script": "^1.8.0",
    "connect-redis": "^2.1.0",
    "cookie-parser": "^1.3.3",
    "debug": "^2.1.0",
    "ejs": "^1.0.0",
    "express": "^5.0.0-alpha.1",
    "jade": "^1.7.0",
    "mongoose": "^3.9.4",
    "morgan": "^1.5.0",
    "nodemailer": "*",
    "passport": "^0.2.1",
    "passport-local": "^1.0.0",
    "static-favicon": "^2.0.0-alpha"
  },
  "devDependencies": {
    "grunt": "*"
  }
}

 위는 제가 제작중인 unifiedAuthServer 라는 이름의 앱으로 node install 이라고 실행할경우 위에 작성된 페키지들을 설치하게 됩니다.


3. package.json 최신버전으로 자동 작성하기


만든 모듈마다의 버전을 일일이 입력하지 못하실경우 최신버전으로 작성하게 할수있습니다. 바로 아래와 같이 버전 부분을 * 로 작성해 주시고 npm update --save 를 실행해 주시면 됩니다.


package.json

 "dependencies": {
    "express": "*",
    "mongodb": "*",
    "underscore": "*",
    "rjs": "*",
    "jade": "*",
    "async": "*"
  }


명령 ( npm update --save ) 사용 후 ( 위의 모듈도 이와 같은 방법으로 작성되었으며 express 의 경우 alpha  버전으로 작성된걸 보니 좀 수정을 거쳐야 될것 같습니다. )


  "dependencies": {
    "express": "~3.2.0",
    "mongodb": "~1.2.14",
    "underscore": "~1.4.4",
    "rjs": "~2.10.0",
    "jade": "~0.29.0",
    "async": "~0.2.7"
  }


3. 설치된 페키지 리스트 보기


npm list 


위의 명령어로 현재 프로젝트에 설치된 모듈들을 확인하실수 있습니다.



위와 같이 모듈의 리스트가 나타납니다.


 앱개발의 기본인 Package.json 에 대해 대략 알아봤습니다. 후에 저도 익숙(?) 해지면 정식으로 작성하겠지만 일단 이정도면 간단하게 나마 사용할 수 있지 않을까 싶습니다. 


즐거운 개발 되시기 바랍니다.

공유하기 링크
댓글