LTS (장기 지원)와 Node.js의 안정적인 버전의 차이점은 무엇입니까?
원래 질문 : LTS가 포함 된 Node.js 4.x 브랜치 (장기 지원)와 5.x 브랜치 (Stable로 나열 됨)의 차이점은 무엇입니까?
그러나 이것은 6.x와 7.x, 그리고 앞으로 8.x와 9.x의 차이를 이해하는 것과 똑같이 관련이 있습니다.
일반적으로 기능과 성능면에서 항상 최신 버전을 선호합니다 (이제 ES6 / ES7을 많이 사용하므로). "안정된"브랜치의 생산 준비 상태에 대한 정보가 있습니까?
차이점을 이해하려면 Node의 LTS (Long Term Support) 버전이 존재하는 이유를 이해해야합니다.
Node LTS는 주로 잦은 업데이트, 광범위한 조달 절차, 긴 테스트 및 품질 요구 사항에 대한 저항이 더 많은 기업용으로 사용됩니다.
Node LTS 작업 그룹의 일원 인 Rod Vagg :
Node에 대한 LTS 계획을 수립하는 요점은 명확하게 정의 된 연장 된 지원 수명주기가있는 예측 가능한 일정에 따라 새 버전을 제공하여 기존의 안정적인 릴리스주기를 기반으로 구축하는 것입니다. 이는 "일찍 출시, 자주 출시"라는 오픈 소스 전통과 상충되는 것처럼 보일 수 있지만 엔터프라이즈 애플리케이션 개발 및 운영 팀의 필수 요구 사항입니다. 또한 Node.js에 대한 전문적인 지원을 제공하는 회사에도 영향을 미칩니다.
https://medium.com/@nodesource/essential-steps-long-term-support-for-node-js-8ecf7514dbd#.za353bn08
댓글 중 하나에 언급 된 공식 Node 게시물도이를 잘 설명합니다.
https://nodejs.org/en/blog/community/node-v5/
홀수 버전 번호 릴리스 (v5, v7)가 다음 LTS 릴리스의 "베타"라고 오해하는 경우가 있습니다. 이것은 다른 프로젝트에서 사용되는 규칙이지만 Node에서는 사용되지 않으며 다소 오해의 소지가 있습니다. 실제로 다음 LTS 릴리스는 현재 버전의 특정 포인트 릴리스에서 선택되며 일반적으로 짝수 버전 릴리스 (v6, v8)가됩니다. 최신 버전이 베타 버전이 아니라 LTS 릴리스가 일부 조직의 특정 요구 사항을 충족한다는 것입니다.
참고로 Firefox의 Extended Support Releases ( https://www.mozilla.org/en-US/firefox/organizations/faq/ ) 또는 Ubuntu의 LTS 릴리스 ( https://wiki.ubuntu.com/LTS )를 참조하십시오. . 나는 아무도 Firefox의 최신 버전이 베타이고 대부분의 사용자가 이전 ERS 버전을 고수해야한다고 제안하지 않을 것이라고 생각합니다.
일반적으로 안정적인 최신 및 향후 Node 릴리스를 따라 잡을 수 있다면 그렇게해야합니다. 이들은 우수한 커뮤니티 지원과 함께 안정적이고 생산 준비가 된 릴리스입니다. 불안정하고 실험적인 기능은 빌드 및 런타임 플래그 뒤에 유지되며 일상적인 작업에 영향을주지 않습니다.
일반적으로 나는 기능과 성능에 대해 항상 최신 버전을 선호합니다 (지금은 ES6 / ES7을 할당합니다).
이것은 안정적인 버전 이상이 귀하의 요구에 잘 맞을 것임을 제게 제안합니다. 이렇게하면 기본 JavaScript 엔진 (V8 또는 Chakra)에서 제공하는 최신 및 최고의 언어 기능에 액세스 할 수 있습니다.
참고 : v4 (및 이전 버전)와 v5의 중요한 차이점은 v4는 npm v2와 함께 제공되는 반면 v5는 npm v3와 함께 제공된다는 것입니다. npm의 v3에는 peerDependancies를 처리하는 방법에있어 프로젝트의 잠재적 인 변경 사항이 있습니다. 이제 npm v3가 종속성을 최대한 평평하게 설치하고 중복을 방지하는 방식은 프로젝트에 영향을 미칠 수 있지만 Windows 사용자에게는 큰 도움이되었으므로 의사 결정에도 영향을 미칠 수 있습니다.
4.x는 프로덕션 릴리스와 유사하게 현재 지원되는 버전입니다. 5.0 버전은 안정적이지만 곧 출시 될 버전 이므로 베타 또는 릴리스 후보 처럼 취급해야합니다 . 따라서 현재 Amazon Elastic Beanstalk와 같은 항목에서는 5.0을 옵션으로 볼 수 없습니다.
안정 릴리스 라인이 LTS가되면 해당 릴리스에 새로운 기능이나 주요 변경 사항이 추가되지 않습니다.
릴리스 유형
현재 : 활발한 개발 중. 현재 릴리스의 코드는 주 버전 번호 (예 : v10.x ) 의 분기에 있습니다. Node.js는 6 개월마다 새로운 주요 버전을 릴리스하여 주요 변경 사항을 허용합니다. 이것은 매년 4 월과 10 월에 발생합니다. 매년 10 월에 출시되는 릴리스의 지원 기간은 8 개월입니다. 매년 4 월에 출시되는 릴리스는 매년 10 월에 LTS (아래 참조)로 전환됩니다.
LTS : 안정성과 보안에 중점을 둔 장기 지원을받는 릴리스입니다. 짝수 번호의 모든 주 버전은 LTS 릴리스가됩니다. LTS 릴리스에는 18 개월의 활성 LTS 지원과 추가 12 개월의 유지 관리가 제공 됩니다. LTS 릴리스 라인에는 v4 Argon으로 시작하는 알파벳순 코드 명이 있습니다. 특별한 경우를 제외하고는 주요 변경 사항이나 기능 추가 사항이 없습니다.
'program story' 카테고리의 다른 글
| Webapi에 ViewModel을 포함하는 것이 합리적입니까? (0) | 2020.11.25 |
|---|---|
| Elasticsearch를 사용한 연결 시간 초과 (0) | 2020.11.25 |
| C ++ HTML 템플릿 프레임 워크, 템플릿 라이브러리, HTML 생성기 라이브러리 (0) | 2020.11.25 |
| TypeError : unhashable type : 'dict', dict가 다른 dict의 키로 사용될 때 (0) | 2020.11.25 |
| Git의 팩 파일은 스냅 샷이 아닌 델타입니까? (0) | 2020.11.25 |