포스팅 동기
: npm은 node package manager 인 건 알겠으나, 언제 패키지를 설치하고, 또 언제 초기화해야 하는 지 잘 몰랐다. 따라서 의존성 문제로 에러가 나면 기계적으로 npm init, npm i, -g 옵션 붙였다 뗐다를 했었다.
이 김에 정리해보자.
npm 명령어 사용 위치
보통 프로젝트 단위(어플리케이션 단위)에서 써왔다. 아마 실무에서는 멀티레포지토리를 쓰는 경우 의존성을 다르게 관리할 것이므로, 레포 범위에서 사용할 것이다. (node_modules를 폴더로 가지고 있는 레포의 최상위 경로)
패키지 관련 명령어
• npm init
npm init
명령어는 보통 npm을 처음 프로젝트를 만들거나 패키지를 만들 때 사용한다. 프로젝트 폴더 최상단에 package.json을 만들게 된다.
• npm i
npm i
, npm install
은 패키지를 설치하는 명령어이다. 패키지명을 명시할 경우, npm으로 설치할 수 있는 특정 패키지를 설치할 수 있다. 패키지명 없이 실행하면, package.json에 명시된 의존성에 따라 패키지를 일괄적으로 설치한다.
예를 들어 CRA로 만든 내 어플리케이션에서 react-router-dom을 import 했는데, 패키지가 없다고 뜨면 npm i react-router-dom
이런 식으로 패키지를 설치한 후 import로 사용할 수 있게 된다.
• npm i -g, -D
npm i {패키지명} -g
에서 -g
옵션이 global을 뜻하는데, 이 때 글로벌의 범위는 내 로컬 환경(시스템 환경, 프로젝트 외부)를 의미하고, 다른 프로젝트에서도 해당 패키지를 사용할 수 있게 된다.--save-dev
혹은 -D
옵션은 decDependencies에 패키지가 추가된다.
의존성에 추가한다는 말은, 해당 프로젝트의 의존성 내역은 package.json으로 관리하게 되는데, 후에 package.json에 적힌 대로 설치하거나 세팅하게 될 때
--save 혹은 -S (npm5에서는 default 옵션임)
• npm ci
package-lock.json을 기반으로 설치하는 명령어, 설치할 때마다 패키지의 세부버전이 달라지는 npm의 단점을 보완해줄 수 있다. npm i
의 엄격한 버전의 명령어라고 생각하면 되고, 배포 시 유용하다. << 처음 알게 됨
• npm dedupe
npm dedupe
npm의 중복 패키지를 정리할 때 사용
• npm ls
npm ls
npm에 설치된 패키지 목록을 조회하는 명령어다. npm ls {패키지명}
으로도 사용할 수 있다.
npm ll
은 설치된 패키지의 상세 정보 조회~
실행 관련 명령어
npm start
npm start, npm test, npm run 등은 package.json의 scripts에서 재정의 및 수정할 수 있는 명령어다.
기본 세팅을 따르게 되면, npm start 는 node server.js가 실행된다. npm test는 test명령어를 실행하고, run은 build 명령어가 있을 때 npm run build 이런 식으로 사용하게 된다.
'Programming' 카테고리의 다른 글
[Git, 트러블 슈팅] 로컬 프로젝트의 원격 repository 업로드 실패 (버퍼 초과) (0) | 2025.02.12 |
---|---|
[기타, VS code] 상대 경로 오류, 실행 파일 경로, launch json (0) | 2022.09.01 |
[크롬 익스텐션] vimium, 크롬을 vim 처럼 마우스없이 사용하기 (0) | 2022.08.29 |