[NPM] npm ci

Self-Study/기타 / / 2022. 7. 4. 11:35

References

https://mygumi.tistory.com/409

https://docs.npmjs.com/cli/v8/commands/npm-ci

https://hyunjun19.github.io/2018/03/23/package-lock-why-need/

 

package.json의 이해

npm install명령어를 실행할 시 의존성 목록이 추가되는 파일로 npm에 관련된 개발 모듈과 실행 및 배포 등 여러 기능이 담겨져있다.

 

package-lock.json의 이해

node_modules트리나 package.json파일 수정을 하게 되면 자동 생성되는 파일로 의존성 트리에 관한 상세적인 정보를 가진 것이 특징이다.

이는 npm 모듈의 버전 범위를 지정하여 버전 미스로 인한 문제를 방지할 수 있다.

 

npm ci의 정의

clean install의 약자로 npm install과 같이 node_module 과 관련된 기능의 의존성을 설치하는 기능을 가진다.

다만, npm install은 package.json 파일을 기반으로 의존성을 설치하지만 npm ci는 package-lock.json 파일을 기반으로 의존성을 설치하는 점에 두고 있다.

또한, package.json 파일을 버전 매칭에 확인하는 용도로 쓰여 서로 간의 파일에서 버전이 맞지 않으면 에러를 내는 특징이 있다.

 

npm install VS npm ci

npm install  npm ci
package.json 및 package-lock.json 파일에 읽기 및 쓰기 권한이 가능하다. package.json 및 package-lock.json 파일에읽기 권한만 가능하다.
특정 모듈을 지정하면 관련된 의존성만 설치가 가능하다. node_modules를 삭제하고 의존성을 한번에 설치한다.
설치 속도가 상대적으로 느리다. 설치 속도가 상대적으로 빠르다.

 

'Self-Study > 기타' 카테고리의 다른 글

[Network] SSE  (0) 2022.07.05
[Embedded] watch dog  (0) 2022.07.05
[NodeJS] stream  (0) 2022.07.05
[Git] stash  (0) 2022.07.04
[Typescript] 데코레이터의 기본구조  (0) 2022.07.04