npm은 프로젝트에 대한 설정을 package.json이라는 파일에 의존하고 있고 이 파일에 JSON형식으로 작성해서 프로젝트에 대한 관리를 할 수 있습니다. 예를 들어 express로 기본 프로젝트를 생성하면 아래와 같은 package.json파일이 생성되는 것을 볼 수 있습니다.
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.3.11"
, "jade": ">= 0.0.1"
}
}
package.json파일이 하는 역활은 여러가지가 있기 때문에 여기서는 의존모듈관리에 대한 부분만 보도록 하겠습니다. 위 파일에서 dependencies부분을 보면 모듈에 대한 버전정보가 명시되어 있는 것을 볼 수 있습니다.
일반적으로는 npm install 모듈명을 입력해서 모듈을 설치하지만 프로젝트의 루트경로에 package.json파일을 두고 npm install 명령어를 입력하면 npm이 package.json에 명시된 dependencies부분의 모듈들을 모두 설치해 줍니다. 물론 package.json파일이 없는 상태에서 npm install 명령어만 입력하면 의존정보를 찾을수 없다는 오류가 나게 됩니다.
의존성을 표시하는 형식을 아주 간단합니다.
- version : 완전히 일치하는 버전
- =version : 완전히 일치하는 버전
- >version : 큰 버전
- >=version : 크거나 같은 버전
- <version : 작은 버전
- <=version : 작거나 같은 버전
- ~version : 버전범위입니다. ~0.2이면 0.2부터 0.3보다 작은 범위
- 1.2.x : x 표기도 가능합니다
어서 nvn만드셔야죠 ㅋㅋ
package.json을 이용하면 필요없어진게 아닐까 싶은 생각이.. ㅋㅋㅋ
package.json 을 만들지 않으면 socket.io를 사용할 수 없나요?
답변이 늦어서 죄송합니다.
package.json은 패키지를 소스에 넣지 않고 의존성을 관리하기 위함입니다. npm install socket.io로 설치해서 사용하지만 사용할 수 있습니다.