2017-10-27 3 views
-1

새로운 Node.js를 프로젝트를 생성, 다음이 먼저 실행됩니다. 그 중 하나는 version입니다."NPM 초기화"를 사용하여 비 semver 표준

대답으로 제공된 버전 번호는 엄격히 semver 표준을 따라야합니다. 이제 semver를 따르지 않는 다른 버전 표준을 사용하고 싶습니다. 다른 버전의 표준을 사용하여 시행하는 방법은 무엇입니까? 새로운 버전 표준을 적용하기 위해 semver 대신 새로운 표준을 사용하기위한 새로운 규칙을 제공 할 수 있습니까?

감사합니다.

+0

특히 어떤 버전 체계를 사용 하시겠습니까? – jwdonahue

+0

@jwdonahue - 우리가 기본적으로 연대순으로 구성하는 "내부"버전 관리 체계입니다. – Greeso

+0

패키지가 야생으로 방출되지 않습니까? – jwdonahue

답변

1

특정 패키징/배포 도구를 사용함에있어서 고유 한 계약을 위반해서는 안됩니다. 이 경우 npm은 쉽게 자동화 된 게시자와 소비자간에 유용한 통신 채널을 제공하므로 SemVer가 필요합니다. 버전 관리 체계에서 버그 수정, 새로운 기능 및 변경 사항을 구분하지 않으므로 npm을 패키징 구성표로 사용해야하는 경우 수행 할 수있는 최선의 작업은 SemVer에 매핑을 적용하는 것입니다. 이 일을 성취하기 위해 내가 생각할 수있는 두 가지 방법이 있습니다.

  1. 모든 버전에 0.0.1을 사용하고 실제 순차 버전이 포함 된 -prerelease를 추가하십시오. 점으로 구분 된 시험판 필드 각각이 순수한 숫자이고 의미 론적 버전 관리의 측면에서 항상 합법적 일 것이라는 가정하에 제공되는 예상대로 정렬됩니다.
  2. 사용자 0.0.X. 여기서 X는 버전 관리 체계의 가장 중요한 필드이며 -prerelease 태그의 나머지 값은 순수한 숫자로 된 점으로 구분합니다.

이러한 구성표 중 하나는 합법적 인 SemVer이며 모든 소비자에게 새로운 버전이 잠재적으로 중요한 변경임을 알립니다. SemVer의 0.0 접두어는 모든 배팅이 꺼져 있음을 의미합니다. 이렇게하면 위험을 기꺼이 받아들이는 소비자는 자동으로 최신 버전으로 업데이트 할 수 있으며 그러한 위험을 받아들이려는 사람들은이를 피할 수 있습니다. 귀하의 의견에 따라

예 :

0.0.1-2018.01 
0.0.1-2018.02 
0.0.1-2019.03 

0.0.2018-01 
0.0.2018-02 
0.0.2019-03 

위의 예제를 제공 한 후, 나는 개인적으로 처음에 걸쳐 두 번째 변화를 선호하지만, 멀리 SemVer 규칙에 관한 한, 그들은 문자 그대로 동일하다.

+0

정말 고마워요. 나는 이것을 좋아한다. 이 문제를 해결하는 방법입니다. 나는 버전 관리를위한 실제 규칙을 변경하는 방법을 선호했을 것이다. 그럼에도 불구하고 이것은 작동한다. – Greeso

+0

단일 생태계 내에서 그러한 종류의 자유를 허용하려면 패키징 도구에서 지원할 수있는 버전 스키마가 필요합니다. 확실히 진행중인 작업입니다. 약속드립니다. – jwdonahue

+0

오, 당신은 npm 팀원입니까? 이것은 굉장합니다 :) – Greeso

관련 문제