728x90

NPM

NPM (Node Package Manager)는 전 세계 개발자들이 만든 다양한 기능(패키지,모듈)들을 관리하는 것으로 node js를 설치함과 동시에 사용할 수 있다. npm 명령어는 여러 플래그flag와 사용된다. 

 

📍 패키지 관리 시작

$ npm init -y

-> pakage.json파일이 생성됨

 

 

📍 패키지 설치

parcel-bundler 설치

*D 플래그 : 개발용으로 설치 (--save-dev)

$ npm install parcel-bundler -D

설치 시간이 어마어마하다..? 실제로는 20분 정도
설치 후 화면

-> node_modules폴더와 package-lock.json파일 생성됨

 

 

lodash 설치

$ npm install lodash

설치 후 화면

 

 

📍 package.json

package.json파일에서 패키지가 관리되고 있어서 node_modules폴더를 지워도 npm install로 언제든지 해당 패키지 설치 가능하다.

$ npm install
$ nmp i // install의 약어 i만 입력해도 설치

 

package.json과 package-lock.json *절대 지우면 안 되는 파일

npm 생태계에서 필요한 패키지를 npm install로 프로젝트에 설치가 가능하다. 특정 패키지만 설치되어도 그 내부에서 사용되는 패키지는 package-lock.json파일이 자동으로 관리를 해준다.

 

 

 

📍 관리 시 주의사항

npm으로 프로젝트를 관리할 때 주의할 점

여러 패키지를 설치하면 node_modules폴더 안으로 들어가고 package.json에 명시가 된다. 그 패키지의 세부사항은 package-lock.json에 명시되므로 두 파일은 지워서는 안 되는 반면 .cache나 dist, node_modules폴더는 따로 버전으로 관리하지 않아도 된다. 언제든지 똑같은 형태로 생성될 수 있으며 불필요하게 많은 파일 용량을 가진 폴더들을 모두 깃에서 버전관리를 한다면 오히려 효율이 떨어진다.

.gitignore라는 이름의 파일을 만들어 깃에서 무시할 파일이나 폴더경로를 넣어주면 원격저장소로 이동하지 않는다.

.cache/
dist/
node_modules/

 

 

📍 플래그 -D 

devDependencies와 dependencies의 차이는 '개발용'이다. 

-D (하이픈 대문자 플래그 D, --save-dev)를 입력하면 개발용 의존성 패키지로 설치, 그렇지 않으면 일반 의존성 설치를 의미한다.

개발용 의존성 패키지는 개발할 때만 필요하고 웹브라우저에서 동작할 때는 필요하지 않음을 의미하며 일반 의존성 설치는 웹브라우저에서 동작할 수 있음을 의미한다. 

$ npm install -D parcel-bundler $ npm install lodash
devDependencies dependencies
개발용 의존성 패키지 일반 의존성 패키지
개발할 때만 필요, 웹브라우저 동작X 웹브라우저에서 동작

 

 

📍유의적 버전

(SemVer, Semantic Versioning)

특정 프로그램에 버전을 명시할 때 유의적 버전이란 개념을 사용한다. 

 

Major.Minor.Patch

E.g, 12.14.1

- Major(12) : 기존 버전과 호환되지 않는 새로운 버전

- Minor(14) : 기존 버전과 호환되는 새로운 기능이 추가된 버전 (12버전에서 14번의 업데이트가 된 의미)

- Patch(1) : 기존 버전과 호환되는 버그 및 오타 등 단순한 기능들이 수정된 버전

 

^캐럿

^12.14.1의 캐럿(^)이 적힌 버전 : Major버전 안에서 가장 최신 버전으로 업데이트함을 허용하는 기호

 

 

📍 npm 명령어

$ npm init -y npm 시작
$ npm install parcel-bundler -D 개발 의존성 패키지로 설치
$ npm info lodash lodash 패키지의 기본 정보를 알 수 있음
$ npm install lodash@4.17.20 @을 사용하여 lodash 패키지의 원하는 버전을 설치할 수 있음
$ npm update lodash lodash 패키지의 최근 버전으로 업데이트

 

 

📍 npm js.com

필요한 소프트웨어를 검색해서 제공하는 기능을 보고 npm 명령어로 설치하여 사용한다.

node_modules라는 폴더에 다운로드 된다. 웹사이트 내에 Usage섹션에서 사용법을 알 수 있다.

 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

 

728x90
+ Recent posts