일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백엔드
- TypeScript
- TypeScript 타입챌린지
- 월간cs
- typeorm
- 타입 챌린지
- nestjs
- 코딩테스트
- 타입스크립트
- 해커톤
- mysql
- 굿바이 2024년
- node.js
- 스터디
- microsoft azure openai
- configservice
- network
- 와글와글
- 타입챌린지
- 2024년 회고록
- typescript type challenge
- HTTP
- npm
- 회고
- configmodule
- 회고록
- Type Challenge
- mysql boolean
- 이펙티브 타입스크립트
- type-safe configservice
- Today
- Total
iamkanguk.dev
[Node.js] npm 명령어 학습 본문
최근에 NestJS 오픈채팅 커뮤니티에 들어갔는데 카카수님이 후배들을 양성하고 계신다. 전체적인 프로젝트를 관리해주시고, 다양한 지식을 습득할 수 있도록 GitHub Issue와 PR을 통해 도와주시는데 참고해도 괜찮다고 말씀하셔서 이렇게 하루에 한번씩 참고해서 공부해보려고 한다.
npm은 node package manager의 약자로 프로젝트에 필요한 라이브러리를 다운로드 또는 관리할 수 있도록 해주는 프로그램이다.
npm 설치 확인
node -v # Node 버전 확인
npm -v # npm 버전 확인
package.json 생성
npm init
npm init -y # 기본값 입력
package install
npm install [패키지명]
npm i [패키지명] # install을 i로 축약 가능하다
npm i [패키지명@버전이름]
npm i [패키지명1] [패키지명2]
npm i --save [패키지명]
npm i -S [패키지명] # --save === -S
npm i --save-dev [패키지명]
npm i -D [패키지명] # --save-dev === -D
npm install -g [패키지명]
참고) npm install 에서 --save 옵션을 입력하는 이유와 지금은 필요하지 않은 이유?
save 옵션은 package.json의 dependency 항목에 모듈을 추가한다는 의미이다. 참고로 package.json에서 우리는 프로젝트가 사용하는 모듈들의 의존성을 관리할 수 있는 것이다.
Node 프로젝트를 해보면, node_modules 라는 디렉토리를 볼 수 있는데 우리가 형상관리를 할 때 node_modules를 보통은 .gitignore에 적용하곤 한다. 그 이유는 폴더의 크기도 크고, package.json 파일만 있으면 자동으로 모듈들을 다운로드 받을 수 있기 때문이다.
그리고, npm 5버전 부터는 save 옵션을 기본으로 적용할 수 있게 되었기 때문에 save 옵션을 적용하지 않아도 dependencies에 항목을 추가할 수 있다.
그리고 save에 추가로 적용할 수 있는 옵션이 있다.
- -P 또는 --save-prod: package.json의 dependencies에 패키지를 등록한다. (이게 기본!)
- -D 또는 --save-dev: package.json의 devDependencies에 패키지를 등록한다.
- -O 또는 --save-optional: package.json의 optionalDependencies에 패키지를 등록한다.
- --no-save: dependencies에 패키지를 등록하지 않는다.
위에서 devDependencies는 애플리케이션 동작과는 직접적인 연관은 없다. 단지 차이점은 개발할 때 필요한 라이브러리이기 때문에 배포할 때 포함을 시키는지 안시키는지에 대한 차이이다.
package delete
npm uninstall [패키지명]
npm uninstall -g [패키지명]
package update
npm update [패키지명]
start command
npm start # package.json의 scripts에 있는 start 명령어를 실행
npm run [script-name] # 그 이외의 scripts를 실행한다
이 외의 다른 명령어들
npm root # node_modules의 위치를 알려준다.
npm root -g # global의 node_modules 위치 알려준다.
npm list # 패키지 리스트 조회
npm ls # npm list === npm ls
npm list(ls) -g # 전역으로 설치된 패키지 리스트 조회
npm list(ls) --depth # depth를 따로 적용시켜줄 수 있음, depth가 0이면 전역 모듈만 조회 가능
전역설치와 지역설치의 차이
- 전역설치는 시스템상에서 해당 라이브러리의 명령어를 인식하게끔 설정하기 위해 사용한다. 주로 CLI나 Demon (background-program) 등을 설치할 때 사용한다.
- 지역설치는 보통 프로젝트에서 사용할 라이브러리를 설치하기 위해 사용한다. 일반적으로는 지역설치를 사용하자!
Quiz: 아래 3개의 script 차이점은?
npm install package # package 설치 (--save-prod)
npm install --save-dev package # package 설치 (개발종속성)
npm install -g package # package 전역설치
'Framework > Node.js' 카테고리의 다른 글
[Node.js] npm install 에러 이슈 공유 (1) | 2023.12.07 |
---|