ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • npm install / npm ci 차이점
    Node 2023. 5. 10. 22:56

    들어가기 전에

    pacakge.jsonpacakge-lock.json의 차이에 대해서 이해해야 한다.

    간략히 차이를 말하자면,

    package.json은 ^ 등을 이용해서 version range로 버전으로 명시하여 의존성 목록을 만든다.

    pacakge-lock.json은 정확한 버전을 명시하여 의존성 목록을 만든다.

     

    공통점

    의존성 모듈을 설치한다.

    차이점

    npm install

     npm install 명령어를 통해 설치를 하면 package.json에 의존성 목록이 추가될 것이고 package-lock.json도 업데이트가 될 것이다.

    즉, node_modules와 package-lock.json 파일이 존재하지 않아도 pacakge.json을 보고 node_modules와 pacakge-lock.json을 생성 / 업데이트 할 수 있다.

    npm ci

     반면, npm ci는 package-lock.json을 기반으로 의존성 모듈을 설치하기 때문에 package-lock.json이 반드시 존재해야 한다.

    npm ci 명령어를 실행하면 먼저 node_modules를 삭제한 후, 의존성을 한번에 설치한다. 또한, package-lock.json을 수정하지 않는다.

    언제 사용하면 좋을까?

    원격 저장소의 프로젝트를 로컬에 초기 설정할 때 / CICD 환경

    프로젝트에 package-lock.json 소스가 포함되어 있다면 npm ci를 통해 package-lock.json을 기반으로 패키지를 설치한다.

    새로운 패키지를 프로젝트에 추가할 때

    npm install을 통해서 패키지를 설치한다.

     

    [참고]

    https://handhand.tistory.com/274

     

Designed by Tistory.