npm : Node Package Manager
노드가 자바스크립트 프로그램을 컴퓨터에서도 실행할 수 있도록 해 주고, 그 외에 여러 가지 기능들을 제공하는 125만 개의 패키지가 존재한다. npm에 업로드된 노드 모듈을 패키지라고 부른다.
생성된 package.json
{
"name": "npmtest",
"version": "0.0.1",
"description": "test npm and package.json",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "sky",
"license": "ISC",
"dependencies": {
"cookie-parser": "^1.4.5",
"express": "^4.17.1",
"express-session": "^1.17.2",
"morgan": "^1.10.0"
},
"devDependencies": {
"nodemon": "^2.0.14"
}
}
npm install express 명령어를 통해 express 패키지를 설치하면 package.json에 아래와 같은 내용이 추가된다.
"dependencies": { "express": "^4.17.1" }
추가로 node_modules라는 폴더 안에 설치된 패키지가 배치되고, package-lock.json이라는 파일도 생성된다. 패키지들 간의 의존관계가 정의되어 있다.
npm install [패키지 1] [패키지 2] [패키지 3]...
npm install --save-dev [패키지]
예) npm install --global rimraf : rimraf를 통해 폴더 삭제 가능
만약 node_modules 폴더를 삭제하더라도 package.json 파일만 있으면 npm install로 설치가 가능하다.
npx 명령어
npm install --save-dev rimraf //devDependencies 속성에 기록됨
npx rimraf node_modules
전역 설치하지 않았지만 전역 설치를 한 것처럼 사용 가능한 명령어. package.json에 기록도 됨.
npm에 등록되지 않은 명령어를 사용하고 싶을 때
npm install [저장소 주소]
3 major 버전 버전이 0일 땐 초기 개발 1부터 정식 버전을 의미 하위호환이 안 되는 업데이트에 올리는 버전 |
0 minor 버전 하위호환되는 기능을 업데이트 했을 때 올림 |
2 patch 버전 기존 기능에 발생한 버그 수정 |
[Node.js] 7장 MySQL (0) | 2021.11.29 |
---|---|
[Node.js] 6장 익스프레스 웹 서버 만들기 (0) | 2021.11.15 |
[Node.js] 4장 http 모듈로 서버 만들기 (0) | 2021.11.08 |
[Node.js] 3장 기능 알아보기(2) (0) | 2021.10.30 |
[Node.js] 3장 노드 기능 알아보기 (0) | 2021.10.11 |