npm은 Node Package Manager입니다. 대부분의 JS프로그램은 패키지라는 이름으로 npm에 등록되어 있으며, 어떤 피처를 가진 패키지가 필요할 경우 npm에서 찾아서 실행하게 됩니다. npm에 등록된 약 190만개의 패키지를 ㅇ활용할 수 있고, 대부분 오픈소스여서 노드를 사용해 웹을 개발할 때 유용하게 사용됩니다.
npm에 업로드 된 노드 모듈을 패키지라고 칭하며, 모듈과 모듈의 관계와 마찬가지로 패키지에서도 다른 패키지를 사용할 수 있습니다. 참고로 npm의 대체제로 yarn과 pnpm이 존재합니다.
패키지를 여러개 설치하면 패키지의 숫자가 엄청나게 늘어나고, 또 각각의 패키지의 버전에 대한 관리도 필요해집니다. 이를 위해서 사용하는 것이 package.json입니다. 이는 노드 프로젝트 시작 전에 무조건 만들고 시작해야 합니다.
우선 노드 프로젝트를 만들 임의의 폴더를 하나 생성하고, 그 안에서 콘솔로 npm init을 실행해 보겠습니다.
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help init` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (npmexample) npmtest
version: (1.0.0) 0.0.1
description: hello package.json
entry point: (index.js)
test command:
git repository:
keywords:
author: johndoe
license: (ISC)
About to write to C:\Example\package.json:
{
"name": "npmtest",
"version": "0.0.1",
"description": "hello package.json",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "johndoe",
"license": "ISC"
}
Is this OK? (yes) yes
위에서 일부 내용은 타이핑하고, 불필요한 부분은 엔터로 스킵하였습니다. 만약 나중에 필요하다면 package.json 파일을 직접 수정해도 괜찮습니다. 아래는 package.json을 열었을 때의 파일 내용입니다. 이를 확인하고, 다음 아티클에서 각 속성에 대해서 살펴보겠습니다.
{
"name": "npmtest",
"version": "0.0.1",
"description": "hello package.json",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "johndoe",
"license": "ISC"
}
'Programming > Node.js' 카테고리의 다른 글
6. 패키지 매니저 (1) - npm [3] (0) | 2024.08.15 |
---|---|
6. 패키지 매니저 (1) - npm [2] (0) | 2024.08.15 |
5. http 모듈로 서버 만들기 (5) - cluster [2/2] (0) | 2024.08.13 |
5. http 모듈로 서버 만들기 (5) - cluster [1/2] (0) | 2024.08.08 |
5. http 모듈로 서버 만들기 (4) - https와 http2 [2/2] (0) | 2024.08.07 |