NPM(Node Package Manager)은 Node.js 애플리케이션 및 모듈을 위한 패키지 매니지먼트 시스템이다. 개발자들은 NPM을 사용하여 애플리케이션의 의존성을 관리하고, 여러 패키지들을 쉽게 설치하고 관리할 수 있다. NPM 패키지는 package.json
이라는 매니페스트 파일을 가지고 있는데, 이 파일은 패키지의 메타데이터 및 의존성 정보를 정의한다.
package.json
파일 작성
NPM 패키지를 개발할 때, 먼저 package.json
파일을 작성해야 한다. 이 파일은 패키지의 이름, 버전, 저작자, 라이센스, 의존성 등을 정의한다.
{
"name": "my-package",
"version": "1.0.0",
"description": "My NPM package",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"npm",
"package",
"example"
],
"author": "John Doe",
"license": "MIT",
"dependencies": {
"lodash": "^4.17.21"
}
}
위의 package.json
예시는 my-package
라는 이름의 패키지를 정의하며, lodash
패키지에 대한 의존성을 정의하고 있다.
의존성 관리
package.json
파일은 패키지가 의존하는 다른 NPM 패키지들을 선언하는 데 사용된다. 의존성 정보는 dependencies
, devDependencies
, peerDependencies
와 같은 속성을 통해 선언된다.
dependencies
: 프로덕션 환경에서 필요한 패키지들을 선언한다.devDependencies
: 개발 환경에서만 필요한 패키지들을 선언한다.peerDependencies
: 호스트 패키지와 함께 사용되어야 하는 패키지들을 선언한다.
의존성은 다양한 방법으로 추가 및 업데이트가 가능하며, 일반적으로 npm install <package-name>
명령어를 사용하여 패키지를 추가하고, npm update <package-name>
명령어를 사용하여 패키지를 업데이트한다.
요약
package.json
은 NPM 패키지의 매니페스트 파일로, 패키지의 메타데이터와 의존성 정보를 정의한다. 파일을 통해 패키지의 버전 및 의존성을 관리하고, NPM을 통해 패키지를 쉽게 설치하고 관리할 수 있다.
package.json
파일을 효과적으로 관리함으로써, 프로젝트의 의존성을 효율적으로 관리하고, 개발 및 배포 프로세스를 간편하게 유지할 수 있다.