Які відмінності між довгостроковою підтримкою (LTS) та стабільною версіями Node.js?


76

Спочатку запитали: Яка різниця між гілкою Node.js 4.x з LTS (довгострокова підтримка) та гілкою 5.x (перелічена як стабільна)?

Але це однаково важливо для розуміння різниці між 6.x та 7.x та, в майбутньому, 8.x та 9.x

Як правило, я завжди схиляюсь до останньої версії щодо функцій та продуктивності (як я зараз роблю багато ES6 / ES7). Чи є інформація про те, наскільки готові до виробництва "стабільні" галузі?


2
Чи потрібно ще щось знати, про що не йдеться у цій публікації в блозі? nodejs.org/en/blog/community/node-v5 . Якщо так, то що це?
Фелікс Клінг,

2
Це форум спільноти, тобто допис розробників node. Існує конкретна інформація з точки зору поза командою розробників, яка може бути релевантною.
AndrewMcLagan

FWIW, це не форум, це сайт запитань та відповідей. Цей формат не підходить для обговорень , і, здається, саме це вас більше цікавить?
Фелікс Клінг,

4
Ні, не дискусія, див. Прийняту відповідь. якщо ви завжди будете вимагати від людей зовнішнього перегляду документації чи іншої інформації. Швидше, швидка, стисла відповідь. Цей сайт на 100% безглуздий.
AndrewMcLagan

2
Відповіді на це запитання, які стверджують, що v5 є бета-версією, дуже оманливі. v5 - поточний стабільний випуск і придатний для виробничого використання. V4 - версія довгострокової підтримки, спрямована на те, щоб зробити Node.js життєздатним вибором для корпоративного використання.
Binarytales

Відповіді:


84

Щоб зрозуміти різницю, потрібно зрозуміти, чому існує версія Node з довгостроковою підтримкою (LTS).

Вузол LTS в першу чергу орієнтований на корпоративне використання, де може бути більший опір частим оновленням, обширним процедурам закупівель та тривалим випробуванням та вимогам до якості.

Від Рода Вагга, члена робочої групи Node LTS:

Сенс створення плану LTS для Node полягає у створенні поверх існуючого стабільного циклу випуску шляхом постачання нових версій за передбачуваним графіком, які мають чітко визначений розширений життєвий цикл підтримки. Хоча це може здатися суперечним традиції з відкритим кодом "випускати достроково, часто випускати", це є важливою вимогою до команд розробників корпоративних додатків та операцій. Це також впливає на компанії ..., які надають професійну підтримку 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 ( https://www.mozilla.org/en-US/firefox/organizations/faq/ ) або випусків LTS Ubuntu ( https://wiki.ubuntu.com/LTS ) . Не думаю, що хтось припустив би, що остання версія Firefox була бета-версією, і що більшість користувачів повинні дотримуватися старих версій ERS.

Як правило, якщо ви в змозі йти в ногу з останніми стабільними та майбутніми випусками Node, вам слід це зробити. Це стабільні та готові до виробництва версії з чудовою підтримкою спільноти. Нестабільна та експериментальна функціональність зберігається за прапорами збірки та виконання і не повинна впливати на ваші повсякденні операції.

Як правило, я завжди схиляюся до останньої версії щодо функцій та продуктивності (як я зараз роблю багато ES6 / ES7)

Це натякає мені, що стабільні версії та новіші версії добре відповідатимуть вашим потребам. Це дасть вам доступ до найновіших та найкращих мовних функцій, які надає основний механізм JavaScript (V8 або Chakra)

Варто зазначити: суттєвою різницею між v4 (і раніше) та v5 є те, що v4 поставляється з npm v2, тоді як v5 поставляється з npm v3. v3 npm має деякі потенційно важливі зміни для вашого проекту в тому, як він обробляє peerDependancies. Спосіб npm v3 тепер намагається встановити залежності власних залежностей якомога рівніше та уникнути дублікатів може вплинути на ваші проекти, але це стало великим благом для користувачів Windows, тому це також може вплинути на прийняття рішень.


8

4.x - це версія, яка зараз підтримується, подібно до виробничої версії. Версія 5.0 стабільна, але це майбутня версія, яка постійно змінюється, і до неї слід ставитись, як до бета-версії або кандидата на випуск. Як такий, ви зараз не бачите 5.0 як варіант у таких речах, як Amazon Elastic Beanstalk.

Після того, як лінія стабільного випуску стане LTS, до цього випуску не додаватимуться нові функції або зміни, що порушують.

Джерело


4

Типи випусків

  • Поточний : В активному розвитку. Код Поточного випуску знаходиться у гілці для основного номера версії (наприклад, v10.x ). Node.js випускає нову основну версію кожні 6 місяців, що дозволяє вносити зміни. Це трапляється у квітні та жовтні кожного року. Релізи, що виходять кожного жовтня, мають тривалість підтримки 8 місяців. Релізи, що з’являються кожного квітня, перетворюються на LTS (див. Нижче) кожного жовтня.

  • LTS : випуски, які отримують довгострокову підтримку, з акцентом на стабільність та безпеку. Кожна основна версія з парними номерами стане випуском LTS. Випуски LTS отримують 18 місяців підтримки Active LTS та ще 12 місяців технічного обслуговування . Рядки випуску LTS мають впорядковані за алфавітом кодові імена, що починаються з v4 Argon. Немає незмінних змін або доповнень функцій, за винятком деяких особливих обставин.

Джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.