# npm 패키지 업데이트 및 배포

패키지 배포 방법을 아무리 글로 읽어봐도 이해되었다는 느낌이 오지 않았는데, 이번에 실제 해보고나서야 정말 쉽구나라고 느낄 수 있었다. 역시 백견이 불여일행.

개인적인 목적으로 남겨둔다.


먼저 패키지 업데이트 방법을 알기 전에 package.json의 dependency항목의 버전 명시에 대해 알아야 한다.

    • 또는 x: 매이저 업데이트 허용
  • ^1.0.4 또는 1.x: 마이너 업데이트 허용
  • ~1.0.4 또는 1.0.x: 패치 업데이트 허용
  • 1.0.4: 업데이트 불허

TIP

2018.04.12 추가: ^의 경우 마이너 업데이트가 아니라 유효(0 아닌) 두번째 자리수의 업데이트이다. 예를들어 ^.0.1.0이라면 0.1.x가 된다.

실제 시맨틱 버저닝이 제대로 지켜지지 않는 경우가 심심치 않게 보인다. 아니면 호환성이 보장된다고 생각하고 마이너 버전을 올렸는데 호환성이 깨지는 경우도 많이 봐왔다. 차라리 패치 업데이트만 허용하도록 변경해두는게 나을것 같다. 아니면 --save --save-exact를 주어서 업데이트 불허로 설치하고 필요시마다 수동으로 업데이트 해주는게 더 나을것 같다.

$ npm outdated // 업데이트가 필요한 패키지들이 보기 좋게 출력
$ npm install {package name}@{version} --save --save-exact
$ npm update {package name} // --save-exact 없을때 가능.
1
2
3

불필요 의존성 제거를 위해 먼저 depcheck를 설치하자.

$ npm install -g depcheck
$ depcheck --ignore-dirs="{dir1},{dir2}" // 기타 보관폴더의 의존성까지 포함하면 안될때..
$ npm remove {package name} --save
1
2
3

내 패키지 배포하기 npm 사이트 가입을 해두고, package.json에 정보들을 잘 기입한다.

$ npm version [major,minor,patch] // 선택에 따라서 자동으로 버전이 변경되고 커밋과 태깅이 된다.
$ npm publish
1
2
최종 수정: 2020-10-21 22:29:49