Published on

npm ci란? 그렇다면 yarn은?

Authors
  • avatar
    Name
    Kim Deokgoo
    Twitter

들어가기전

알게 모르게 npm ci를 많이 사용해왔으며, 이번 기회에 정리를 하고자 한다. (npm, yarn)



본론으로

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 에서는 어떻게 사용할까

👇 아래라고 생각하고 있었는데 오래되었고 없어질것이라고 한다.

yarn install --frozen-lockfile

얼마 전만해도 --frozen-lockfile을 사용 했었는데 포스팅 당시에 확인해보니

👇 아래와 같다고 한다.

yarn install --immutable --immutable-cache --check-cache