- Published on
npm ci와 yarn ci, pnpm ci의 차이점과 활용 방법
- Authors
- Name
- Deokgoo Kim
들어가기전
npm ci를 알게 모르게 많이 사용해왔습니다. 이번 기회에 npm, yarn, pnpm의 ci 명령어에 대해 정리하고자 합니다.
본론으로
npm ci
ci환경이나 여러 환경에서 clean install을 할때 lock파일에 의존하여 설치한다고한다. npm install
차이점이 5가지 존재한다고한다 npm 도큐멘트를 확인해보자
package-lock.json
ornpm-shrinkwrap.json
이 무조건 존재해야한다.package-lock.json
andpackage.json
dependencies가 맞지 않으면 lock파일을 업데이트하지 않고 에러를 발생한다.npm ci
는 전체를 대상으로 install하며 개별적으로는 불가능하다- 이미
node_modules
가 존재하는 경우에는npm ci
실행전에 node_modules를 지우고 실행한다고 한다. package-lock.json
andpackage.json
에 어떤 기록도 하지 않는다.
yarn ci
이전 방법
기존에는 다음과 같이 사용했습니다.
yarn install --frozen-lockfile
현재 방법
최근 확인해본 결과, 이제는 다음과 같이 사용합니다.
yarn install --immutable --immutable-cache --check-cache
pnpm ci
pnpm에서도 ci 명령어를 사용할 수 있습니다. 다음과 같이 사용하세요.
pnpm install --frozen-lockfile
이 명령어는 pnpm 환경에서 lock 파일을 고정하여 clean install을 수행합니다. pnpm install --frozen-lockfile은 npm ci와 유사하게 동작합니다.
위 내용을 통해 npm, yarn, pnpm의 ci 명령어 사용법을 이해하고, 각각의 차이점을 알 수 있습니다. 이를 바탕으로 프로젝트에 적합한 패키지 관리 도구를 선택하세요.