duck blog
Published on

npm ci와 yarn ci, pnpm ci의 차이점과 활용 방법

Authors
  • avatar
    Name
    Deokgoo Kim
    Twitter

들어가기전

npm ci를 알게 모르게 많이 사용해왔습니다. 이번 기회에 npm, yarn, pnpm의 ci 명령어에 대해 정리하고자 합니다.



본론으로

npm ci

ci환경이나 여러 환경에서 clean install을 할때 lock파일에 의존하여 설치한다고한다. npm install 차이점이 5가지 존재한다고한다 npm 도큐멘트를 확인해보자

  • package-lock.json or npm-shrinkwrap.json 이 무조건 존재해야한다.
  • package-lock.json and package.json dependencies가 맞지 않으면 lock파일을 업데이트하지 않고 에러를 발생한다.
  • npm ci는 전체를 대상으로 install하며 개별적으로는 불가능하다
  • 이미 node_modules가 존재하는 경우에는 npm ci 실행전에 node_modules를 지우고 실행한다고 한다.
  • package-lock.json and package.json에 어떤 기록도 하지 않는다.

# npm Docs # yarn Docs

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 명령어 사용법을 이해하고, 각각의 차이점을 알 수 있습니다. 이를 바탕으로 프로젝트에 적합한 패키지 관리 도구를 선택하세요.