Node.js 가 웹앱 개발에서 많이 쓰이는 이유 중 하나가 검증된 모듈이 많기 때문입니다. 앱 개발시 하나하나 개발하지 않아도 이미 검증된 모듈들을 적용시키면 앱개발을 쉽게 할 수 있습니다. 등록수 7만개 이상의 모듈들을 프로젝트에서 효과적으로 사용하기 위해서 관리해주는 기능이 필요합니다.
NPM(node Package modules)
NPM 은 프로젝트에서 각 모듈들을 효과적으로 사용하기 위해서 Isaac Z. Schlueter 가 개발한 프로그램입니다.
Node.js 를 설치하면 자동으로 같이 설치가 됩니다.
사용법
1
2
- 모듈 설치(지역)
$ npm install <모듈> => 현재 디렉터리 안에 설치 : 소스 내에서 require()로 호출할 때 사용
1
2
- 모듈 설치(글로벌)
$ npm install <모듈> -g => {prefix}/lib/node_modules 디렉터리 안에 설치 : 터미널에서 모듈 사용 가능
1
2
- 설치된 모듈 리스트
$ npm ls (-g 옵션 가능)
1
2
- 설치된 모듈 확인
$ npm search <모듈>
1
2
- 설치된 모듈 정보 확인
$ npm list <모듈>
1
2
- 설치된 모듈의 최신 정보 확인
$ npm view <모듈> version
1
2
- 설치된 모듈의 최신 정보 확인
$ npm view <모듈> version
1
2
- 모듈 삭제
$ npm uninstall <모듈>
package.json package.json 은 프로젝트의 정보와 의존하는 모듈들의 리스트를 정의 하는 파일입니다.
1
2
- package.json 생성
$ npm init
1
2
- 모듈을 package.json 에 등록함으로서 모듈 의존 설치
$ npm install <모듈> --save
아래 예는 현재 이 블로그의 package.json 파일 내용입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"name" : "hexo-site" ,
"version" : "0.0.0" ,
"private" : true ,
"hexo" : {
"version" : "3.3.5"
},
"dependencies" : { => 의존하는 모듈 정보
"hexo" : "^3.2.0" ,
"hexo-deployer-git" : "^0.3.0" ,
"hexo-generator-archive" : "^0.1.4" ,
"hexo-generator-category" : "^0.1.3" ,
"hexo-generator-feed" : "^1.2.0" ,
"hexo-generator-index" : "^0.2.0" ,
"hexo-generator-tag" : "^0.2.0" ,
"hexo-renderer-ejs" : "^0.2.0" ,
"hexo-renderer-marked" : "^0.2.10" ,
"hexo-renderer-stylus" : "^0.3.1" ,
"hexo-server" : "^0.2.0" ,
"hexo-tag-post-link" : "^1.0.6"
}
}
Yarn(A new package manager for JavaScript)
Yarn 은 페이스북, Exponent, 구글, Tilde 의 엔지니어들이 기존 npm의 이슈들을 극복하고자 새롭게 개발한 package manager 입니다.
1
2
3
- yarn 설치
$ sudo apt-get update
$ sudo apt-get install yarn
1
2
- yarn 모듈 설치
$ yarn add <모듈, git remote url, tar파일 등 > (-g) => package.json, yarn.lock 둘다 업데이트
1
2
- yarn 모듈 업그레이드
$ yarn upgrade <모듈>
1
2
- yarn 모듈 삭제
$ yarn remove <모듈>
1
2
- npm => yarn 패치
$ yarn => 위치한 프로젝트의 npm 에서 의존한 모듈리스트를 yarn 로 가져옵니다.
아직은 npm 이 yarn 보다 익숙합니다만 yarn 을 조금씩 써봐야겠습니다.