Подтвердить что ты не робот

Каковы различия между долгосрочной поддержкой (LTS) и стабильными версиями Node.js?

Первоначально спросил: В чем разница между ветвью Node.js 4.x с LTS (Long Term Support) и ветвью 5.x(указан как Stable)?

Но это одинаково важно для понимания разницы между 6.x и 7.x и, в будущем, 8.x и 9.x

Как правило, я всегда склоняюсь к последней версии для функций и производительности (поскольку теперь я делаю много ES6/ES7). Есть ли какая-либо информация о том, как готовность производства к "стабильным" ветвям?

4b9b3361

Ответ 1

Чтобы понять разницу, вам нужно понять, почему существует версия Long Term Support (LTS) Node.

Node 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/) или выпуски Ubuntu LTS (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, поэтому это может также повлиять на принятие решений.

Ответ 2

4.x - это версия, которая в настоящее время поддерживается, аналогично производственному выпуску. Версия 5.0 стабильна, но она является новой версией и должна рассматриваться как кандидат на бета-версию или релиз. Таким образом, в настоящее время вы не видите 5.0 в качестве опции в таких вещах, как Amazon Elastic Beanstalk.

Как только строка стабильного выпуска становится LTS, в этот выпуск не будут добавлены новые функции или критические изменения.

Источник

Ответ 3

Типы релизов

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

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

Источник