패키지 매니저는 패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴!
- 다른 사람들이 만들어준 코드를 다운로드 받거나, 자신의 코드를 배포하여 다른 사람이 쓸 수 있도록 할 수 있다.
- Node.js에서 대표적으로 사용하는 패키지 매니저는 npm과 yarn이 존재한다.
- npm이나 yarn에 업로드된 Node.js 모듈을 패키지라고 부른다.
- 모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용할 수 있다. => 의존관계
npm은 자바스크립트에서 사용할 수 있는 패키지(모듈) 관리자
여러분이 Python과 같은 언어에서 Flask나 BeautifulSoup과 같은 패키지를 설치할 때 pip가 필요했다면 Node.js에서는 npm을 통해 필요한 패키지를 설치할 수 있음.
npm의 대체제로 FaceBook이 출시한 패키지 매니저
npm에서 부족한 부분을 보완하여 편리한 기능이 추가되었고, 더욱 빠른 속도로 패키지를 관리할 수 있는 패키지 매니저.
❓ 하나의 프로젝트에서 npm과 yarn 2가지를 같이 사용해도 괜찮을까요?
설치한 패키지들의 버전을 관리할 때 사용하는 파일입니다.
package.json
파일을 참조합니다.package.json
파일에서 정의한 패키지 외에도 node_modules
에 들어있는 패키지들의 버전과 의존 관계가 상세하게 기록되어 있습니다.package-lock.json
파일에 저장합니다.VS Code 하단의 Terminal에서 진행
1. npm init
package.json
파일을 만들 때 사용됩니다. package.json
은 npm 으로 설치된 모듈에 대한 정보가 들어있습니다.2. npm install express
install
대신 i
라는 별명을 대신 사용할 수 있습니다.install
뒤에 따라오는 express
는 설치하고자 하는 모듈의 이름을 명시합니다.npm install express
로 express
한개의 모듈을 설치할 수 있는데 띄어쓰기로 구분을 하여 여러개의 모듈을 설치하는것도 가능합니다.npm install express mongoose jest
package.json
파일 내용 기반으로npm install
명령어를 통해 설치된 모듈 파일들이 모여있는 곳입니다.
package.json
에 설정된 모듈과 해당 모듈들이 참고하고 있는 또 다른 모듈도 함께 설치됩니다.개발 단계에서만 필요한 모듈들을 설치할 경우 이곳에 포함됩니다.(package.json안의)
"devDependencies": { "jest": "^29.3.1", "supertest": "^6.3.3" }
- npm install -D (모듈이름) 으로 추가할 수 있습니다.
node_modules
공유하거나 배포할때 포함 Xpackage.json
만 있으면 언제든 환경에 맞는 모듈들 설치 가능package.json
파일에 명시된 모듈 설치 npm install