npm i vs npm ci
npm i
패키지의 최신버전을 설치 한 뒤 pakage-lock.json 파일을 업데이트 한다.
yarn 에서는 아래와 같이 사용하면 된다.yarn
새로운 라이브러리를 설치하는데에는 적합하다.
pull 또는 clone을 받아 같은 프로젝트를 진행하는 데에는 적합하지 않다.
npm ci ( npm clean-install )
pakage-lock.json 기반으로 라이브러리를 검색하여 다운받는다.
yarn 에서는 아래와 같이 사용하면 된다.yarn install --frozen-lockfile
pakage-lock.json 기반의 다운로드이기 때문에 같은 버전의 npm 을 다운받게 된다.
npx ci 추천
공식문서를 보면 아래와 같은 이유로
npm ci보다npx ci를 추천하고있다.
npm 말고도 yarn, pnpm 같은 서드파티 패키지 매니저를 사용하게 될때 명령어가 모두 다른데, npx ci 를 사용하면 pakage-lock.json파일을 참고하여 적절한 매니저를 감지하고 설치한다.
npx를 사용함으로써 특정 패키지 매니저에 결합되지 않도록 할 수 있다.
yarn 또는 pnpm 이 설치되어있지 않은 상황에서
npx ci를 사용하면 필요에 따라 이러한 패키지 매니저를 자동으로 설치한다.
자료 참고 : https://www.npmjs.com/package/ci
개발용 의존성 설치
개발용으로 라이브러리를 사용하는 방법은 설치시 옵션에 개발용이라는 것을 명시해주면 된다
npm install <package-name> --save-devnpm install <package-name> -Dyarn add <package-name> --dev위와 같은 명령어로 라이브러리를 설치해주면 해당 라이브러리는 개발의존적으로 설치가 되며
위와 같이 pakage.json 파일에 저장되게 된다.
빌드 또는 배포 시에 위의 라이브러리는 제외하고 빌드되기 때문에 번들 크기가 줄어들게 된다.
CI/CD 시에 개발의존성 라이브러리는 설치를 건너뛰기 때문에 빌드 프로세스가 효율적으로 된다.
기타 등등 많은 이유로 유저가 경험할 필요 없는 사항에 대해서는 개발의존성으로 설치를 하자