
Package Manager
1) Package Manager ?
패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴
다른사람이 만들어준 코드를 다운받거나 자신의 코드를 배포할 수 있다.
Node.js에서 대표적으로 사용하는 패키지 매니저는 npm, yarn이 있다.
패키지란 ?
npm이나 yarn에 업로드된 Node.js 모듈
모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용할 수 있다
=> 의존 관계
2) npm ?
JS에서 사용할 수 있는 패키지(모듈) 관리자
Python과 같은 언어에서 Flask나 BeautifulSoup과 같은 패키지를 설치할 때
pip가 필요했다면 Node.js에서는 npm을 통해 패키지를 설치.
npm을 통해 라이브러리를 쉽게 설치, 버전관리, 제거가 가능하다
npmjs.com 에서 확인할 수 있는 패키지만 설치가 가능하다
누구나 새로운 패키지 등록 가능
Node Package Manager의 약자로 지금은 Node.js와 관계없이 프론트엔드에서만 사용가능한
JS패키지들도 모두 등록되어 있다.
3) yarn ?
npm의 대체제로 FaceBook이 출시한 패키지 매니저
npm에서 부족한 부분을 보완하여 편리한 기능이 추가
더욱 빠른 속도로 패키지를 관리할수 있다.

4) Package.json ?
설치한 패키지들의 버전을 관리할 때 사용하는 파일
동일한 패키지를 사용하더라도 버전별로 기능을 다르게 사용할 수 있어
특정한 버전을 설치할 때 필요
패키지 관리 외에도 프로젝트명, 작성자, 라이센스 정보등
다양한 메타 데이터들을 기록할 수 있다.
npm과 yarn 모두 동일한 package.json 파일을 참조한다.
5) Package-look.json ?
Package.json파일에서 정의한 패키지 외에도 node_modules에 들어있는
패키지의 버전과 의존 관계가 상세하게 기록되어 있다
npm으로 패키지를 설치, 수정, 삭제할 때마다 패키지들의
의존 관계를 package-look.json파일에 저장한다
저장된 패키지들은 정확히 일치하는 버전만 기록되므로, 프로젝트에서
의존하는 패키지 버전을 정확하게 관리할 때 사용할 수 있다.
배포하기 전 npm 학슴
1) npm 복습
npm init
명령어를 통해 package.json 파일을 만든다
npm으로 설치된 모듈에 대한 정보가 들어있다
새로운 프로젝트나 패키지를 만들 때 사용
패키지명, 프로젝트 버전, Github URL등 프로젝트 관련 정보설정
npm install express
npm을 모듈로 설치할 때 명령어
install 대신 i로 사용가능
express는 설치하고자 하는 모듈이름
여러개의 모듈을 설치가능
ex) npm install express mongoose jest
2) node_modules ?
package.json 파일 기반으로 npm install 명령어를 통해 설치된 모듈폴더
설정된 모듈과 해당 모듈들이 참고하고 있는 또 다른 모듈도 함께 설치
다른곳에 공유나 배포가 안되게 조심해야함 !
3) npm install ?
명령어가 입력되면 package.json 기반으로 node_modules에 명시된
모듈들을 설치하는 명령어
내 프로젝트를 공유하거나 타인의 프로젝트를 사용할 때
모듈을 설치하기 위해 실행하는 명령어
- devDependencies ?
개발단계에서만 필요한 모듈들을 설치할 경우 이곳에 포함된다
npm install -D (모듈이름) 으로 추가 가능.
(참고 : https://selenehyun.notion.site/NPM-bb21551cb0e649ee9c0fa28bf3e52201)
NPM: 종속성 관리
npm 모듈을 많이 개발하는 사람이라면 잘 알수도 있지만 의외로 모르는 사람이 많다.
selenehyun.notion.site
4) 총정리
node_modules 는 공유하거나 배포시 포함 X
package.json만 있으면 언제든 환경에 맞는 모듈들 설치 가능
이미 추가된 모듈 설치는 npm install
좀 더 알아보자 !
1. 패키지 매니저를 사용하는 이유
2. npm과 yarn의 장단점
3. package.json의 필요성
참고할만한 자료
https://pakss328.medium.com/yarn%EC%9D%B4%EB%9E%80-b4e8edf1638b
yarn이란?
yarn이란?
pakss328.medium.com
https://yarnpkg.com/features/constraints
Constraints
An in-depth guide to Yarn's constraints, a feature that provides an easy way to enforce common rules across a project.
yarnpkg.com
https://soshace.com/yarn-package-manager-in-2019-should-we-keep-on-comparing-yarn-with-npm/
Yarn vs. npm in 2019: Choosing the Right Package Manager for the Job
In this article, we’ll thoroughly explore both Yarn and npm, all the while answering these questions: What are their key features? What advantages and disadvantages do they have? How are their workflows organized? Let’s find out!
soshace.com
'Language > Node.js' 카테고리의 다른 글
Node.js의 require, 그리고 IIFE (1) | 2022.10.13 |
---|---|
Node Snippets 명령어 (0) | 2022.10.05 |
Express.js (0) | 2022.09.30 |
첫 Node.js (0) | 2022.09.30 |

Package Manager
1) Package Manager ?
패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴
다른사람이 만들어준 코드를 다운받거나 자신의 코드를 배포할 수 있다.
Node.js에서 대표적으로 사용하는 패키지 매니저는 npm, yarn이 있다.
패키지란 ?
npm이나 yarn에 업로드된 Node.js 모듈
모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용할 수 있다
=> 의존 관계
2) npm ?
JS에서 사용할 수 있는 패키지(모듈) 관리자
Python과 같은 언어에서 Flask나 BeautifulSoup과 같은 패키지를 설치할 때
pip가 필요했다면 Node.js에서는 npm을 통해 패키지를 설치.
npm을 통해 라이브러리를 쉽게 설치, 버전관리, 제거가 가능하다
npmjs.com 에서 확인할 수 있는 패키지만 설치가 가능하다
누구나 새로운 패키지 등록 가능
Node Package Manager의 약자로 지금은 Node.js와 관계없이 프론트엔드에서만 사용가능한
JS패키지들도 모두 등록되어 있다.
3) yarn ?
npm의 대체제로 FaceBook이 출시한 패키지 매니저
npm에서 부족한 부분을 보완하여 편리한 기능이 추가
더욱 빠른 속도로 패키지를 관리할수 있다.

4) Package.json ?
설치한 패키지들의 버전을 관리할 때 사용하는 파일
동일한 패키지를 사용하더라도 버전별로 기능을 다르게 사용할 수 있어
특정한 버전을 설치할 때 필요
패키지 관리 외에도 프로젝트명, 작성자, 라이센스 정보등
다양한 메타 데이터들을 기록할 수 있다.
npm과 yarn 모두 동일한 package.json 파일을 참조한다.
5) Package-look.json ?
Package.json파일에서 정의한 패키지 외에도 node_modules에 들어있는
패키지의 버전과 의존 관계가 상세하게 기록되어 있다
npm으로 패키지를 설치, 수정, 삭제할 때마다 패키지들의
의존 관계를 package-look.json파일에 저장한다
저장된 패키지들은 정확히 일치하는 버전만 기록되므로, 프로젝트에서
의존하는 패키지 버전을 정확하게 관리할 때 사용할 수 있다.
배포하기 전 npm 학슴
1) npm 복습
npm init
명령어를 통해 package.json 파일을 만든다
npm으로 설치된 모듈에 대한 정보가 들어있다
새로운 프로젝트나 패키지를 만들 때 사용
패키지명, 프로젝트 버전, Github URL등 프로젝트 관련 정보설정
npm install express
npm을 모듈로 설치할 때 명령어
install 대신 i로 사용가능
express는 설치하고자 하는 모듈이름
여러개의 모듈을 설치가능
ex) npm install express mongoose jest
2) node_modules ?
package.json 파일 기반으로 npm install 명령어를 통해 설치된 모듈폴더
설정된 모듈과 해당 모듈들이 참고하고 있는 또 다른 모듈도 함께 설치
다른곳에 공유나 배포가 안되게 조심해야함 !
3) npm install ?
명령어가 입력되면 package.json 기반으로 node_modules에 명시된
모듈들을 설치하는 명령어
내 프로젝트를 공유하거나 타인의 프로젝트를 사용할 때
모듈을 설치하기 위해 실행하는 명령어
- devDependencies ?
개발단계에서만 필요한 모듈들을 설치할 경우 이곳에 포함된다
npm install -D (모듈이름) 으로 추가 가능.
(참고 : https://selenehyun.notion.site/NPM-bb21551cb0e649ee9c0fa28bf3e52201)
NPM: 종속성 관리
npm 모듈을 많이 개발하는 사람이라면 잘 알수도 있지만 의외로 모르는 사람이 많다.
selenehyun.notion.site
4) 총정리
node_modules 는 공유하거나 배포시 포함 X
package.json만 있으면 언제든 환경에 맞는 모듈들 설치 가능
이미 추가된 모듈 설치는 npm install
좀 더 알아보자 !
1. 패키지 매니저를 사용하는 이유
2. npm과 yarn의 장단점
3. package.json의 필요성
참고할만한 자료
https://pakss328.medium.com/yarn%EC%9D%B4%EB%9E%80-b4e8edf1638b
yarn이란?
yarn이란?
pakss328.medium.com
https://yarnpkg.com/features/constraints
Constraints
An in-depth guide to Yarn's constraints, a feature that provides an easy way to enforce common rules across a project.
yarnpkg.com
https://soshace.com/yarn-package-manager-in-2019-should-we-keep-on-comparing-yarn-with-npm/
Yarn vs. npm in 2019: Choosing the Right Package Manager for the Job
In this article, we’ll thoroughly explore both Yarn and npm, all the while answering these questions: What are their key features? What advantages and disadvantages do they have? How are their workflows organized? Let’s find out!
soshace.com
'Language > Node.js' 카테고리의 다른 글
Node.js의 require, 그리고 IIFE (1) | 2022.10.13 |
---|---|
Node Snippets 명령어 (0) | 2022.10.05 |
Express.js (0) | 2022.09.30 |
첫 Node.js (0) | 2022.09.30 |