npm ci
별칭: clean-install, ic, install-clean, isntall-clean
설명 :
이 커맨드는 npm install과 비슷하다. 주로 의존성들을 깨끗하게 인스톨하고 싶은 모든 상황이나 배포, 통합, 테스트 플랫폼 같이 자동적으로 환경을 구성할 때 사용한다.
npm install과 npm ci의 주요 차이점 :
1. 프로젝트가 package-lock.json이나 npm-shrinkwrap.json이 필수로 있어야 한다.
2. package-lock.json과 package.json이 매치되지 않으면, package-lock을 업데이트 하는 대신, 에러가 난다.
3. npm ci는 한번에 전체 프로젝트를 인스톨한다: 각각의 의존성이 이 커맨드로 추가될 수는 없다.
4. 만약 node_modules가 이미 존재하면, npm ci가 인스톨을 시작하기전에 자동으로 제거한다.
5. npm ci는 package.json이나 package-locks의 어떤 부분도 절대로 수정하지 않는다: 인스톨은 기본적으로 고정되어있다.
주의 :
만약 --leagacy-peer-deps나 --install-links처럼 의존성 트리를 구성하는데 영향을 줄수 있는 플래그와 함께 npm install을 실행한 package-lock.json파일을 만들었다면, npm ci에 똑같은 플래그를 제공해야만 한다. 그렇지 않으면 에러가 발생한다. 예를들면, npm config set legacy-peer-deps=true --location=project 와 .npmrc파일을 커밋해라.
예제 :
package-lock이 최신 인스톨인지 확인해라:
$ cd ./my/npm/project
$ npm install
added 154 packages in 10s
$ ls | grep package-lock
npm ci를 실행하라
$ npm ci
added 154 packages in 5s
npm install 대신에 npm ci를 사용해서 빌드하도록 Travis를 설정하라.
# .travis.yml
install:
- npm ci
# keep the npm cache around to speed up installs
cache:
directories:
- "$HOME/.npm"
'front > npm' 카테고리의 다른 글
[npm] About npm (0) | 2022.07.27 |
---|
댓글