1. npm 설치하기
curl http://npmjs.org/install.sh | sh
  1. npm을 이용한 패키지 설치

(1) global 설치

$ npm install -g xxx

[예제]

$ npm install -g express
/usr/local/bin/express ->; /usr/local/lib/node_modules/express/bin/express
mime@1.2.2 /usr/local/lib/node_modules/express/node_modules/mime
qs@0.1.0 /usr/local/lib/node_modules/express/node_modules/qs
connect@1.4.1 /usr/local/lib/node_modules/express/node_modules/connect
express@2.3.4 /usr/local/lib/node_modules/express
$

보는 바와 같이 /usr/local/lib/node_modules 에 해당 패키지가 설치되고, /usr/local/bin에 링크가 만들어진다.
( npm의 설정값중 하나로 prefix가 있는데, 여기에 /usr/local 이 default로 저장되어 있다. )

글로벌로 설치하는 경우는 실행할 바이너리가 있는 경우에 글로벌로 설치하는 것이 좋다.

이를 테면, express나 node-inspector 등이 이 경우에 해당한다.

(2) local 설치

$ npm install xxx

[예제]

$ npm install express
mime@1.2.2 ./node_modules/express/node_modules/mime
connect@1.4.1 ./node_modules/express/node_modules/connect
qs@0.1.0 ./node_modules/express/node_modules/qs
express@2.3.4 ./node_modules/express
$

보는 바와 같이 현재 디렉토리/node_modules 에 해당 패키지가 설치된다.

단순히 require를 통해 라이브러리만으로 사용할 때 로컬 설치를 하면 된다.

여기서 궁금해할 만 한 점 하나 :

express 같은 경우 명령어도 사용해야 하고, 라이브러리로도 사용해야 하는 패키지는 어떻게 설치해야하는가?

둘다 설치하면 된다-_-;

다만, 하드가 야동으로 넘쳐나 단 1메가도 아쉬운 사람들은 필요한 패키지들을 모두 글로벌로 설치한 후 npm link를 통해 현재 작업디렉토리에 대해 /usr/local/lib/node_modules에 링크를 만들어 사용할 수도 있다. ( 이때는 package.json 파일이 작업디렉토리의 루트 디렉토리에 있어야 한다. )

  1. npm 설정값 보기 / 설정하기
$ npm config ls -l
$ npm get prefix  // prefix 설정값 보기
$ npm set prefix /usr/local  // prefix에 "/usr/local"로 설정
  1. npm ls

설치된 패키지들을 보여준다. 역시 글로벌과 로컬로 나눠어서 볼 수 있다.

$ npm ls
[현재 디렉토리]
├─┬ connect-mongodb@0.3.0 
│ ├─┬ connect@1.4.1 
│ │ ├── mime@1.2.2 
│ │ └── qs@0.1.0 
│ └── mongodb@0.9.4-3 
├─┬ express@2.3.4 
│ ├── connect@1.4.1 
│ ├── mime@1.2.2 
│ └── qs@0.1.0 
├── expresso@0.7.6 
├── jade@0.11.0 
├── less@1.1.0 
├─┬ mailer@0.6.2 
│ ├── colors@0.5.0 
│ └─┬ nodemailer@0.1.18 
│   └── mimelib-noiconv@0.1.2 
├── markdown@0.2.1 
├── mongoose@1.3.3 
├── node-inspector@0.1.6 
└─┬ stylus@0.13.3 
  ├── cssom@0.2.0 
  └── growl@1.1.0 

$ npm ls -g
/usr/local/lib
├─┬ express@2.3.4 
│ ├── connect@1.4.1 
│ ├── mime@1.2.2 
│ └── qs@0.1.0 
├── expresso@0.7.7 
└─┬ npm@1.0.6 
  ├── abbrev@1.0.3 
  ├── node-uuid@1.1.0 
  ├── nopt@1.0.4 
  └── semver@1.0.5 
  1. npm init

package.json 파일에 필요한 기본적인 정보를 입력하여, package.json 파일을 생성한다.