Node.js(2)

하정현·2023년 11월 1일

Node.js

목록 보기
2/12

🐣Package Manager

Package Manager란 패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용 하기 위한 툴이다.

다른 사람들이 만들어준 코드를 다운받거나, 자신의 코드를 배포하여 다른사람이 쓸 수 있도록 한다.
npm 이나 yarn 에 업로드 된 Node.js 모듈을 패키지라고 한다.

Node.js에서 대표적으로 사용되는 패키지 매니저에는 npmyarn이 있다.

🐥npm

자바스크립트 에서 사용할 수 있는 패키지 모듈이다. npm을 통해 라이브러리 쉽게
사용 할 수 있고, 버전 관리와 제거가 용이하다.

누구나 새로운 패키지를 등록할 수 있다.npm(Node Package Manager)은 노드에서
뿐만아니라 프론트엔드에서만 사용 가능한 자바스크립트 패키지들도 등록되어있다.

🐥yarn

yarn은 npm 대체제로 FaceBook이 출시한 패키지 매니저이다.
npm에서 부족한 부분을 보안하여 편리한 기능이 추가되었고,
더욱 빠른 속도로 패키지를 관리 할 수 있다.

패키지매니저 npm, yarn을 동시에 사용할 경우 버전을 수정할 떄
오류가 발생할 수도 있다. 충돌 발생 가능성이 있기 때문에 한가지만 사용하는 것이 좋다.


🐥Package.json

Package.json은 설치한 패키지들의 버전을 관리 할 때 사용하는 파일이다.
동일한 패키지를 사용하더라도 버전 별로 기능을 다르게 사용가능 특정한 버전을 설치할떄 필요하다.

패키지 관리 외에도 프로젝트명, 작성자, 라이센스 정보등 다양한 메타 데이터들을 기록 할 수 있다.

npm과 yarn 모두 동일한 package.json 파일 참조한다.


이런식으로 되어있다.

🐥package-lock.json

package-lock.json은 파일에서 정의한 패키지 외에도 node_modules에 들어있는
패키지들의 버전과 의존관계가 기록되어 있다. npm으로 패키지를 설치, 수정, 삭제할 때마다
패키지들의 의존관계를 저장한다.

node_modules는 package.json 파일 내용 기반으로 npm install 명령어를 통해
설치된 모둘 파일이 모여있는 곳이다. package.json에 설정된 모듈과 해당 모듈이 참고하고 있는
또 다른 모듈도 함께 설치된다.

사용자의 환경에 맞는 파일들이 설치되기 때문에
다른곳에 공유하거나 배포할때 포함시키면 안된다. (git ignore)

🐤결론

패키지 매니저를 사용하면 종속성을 관리하고 패키지를 관리하기 좋다! yarn과 npm 중에 무엇을 선택해야 할지는 개인의 취향, 성능(패키지 설치 속도), 커뮤니티에 따라 다르다고 하는데 yarn이 더 빠르고 보안적으로 좋으니까 좋지않나? 싶다.

0개의 댓글