Ответ 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, поэтому это может также повлиять на принятие решений.