Путаница с номером версии NodeJS


154

Я установил Node JS несколько месяцев назад и немного поиграл. Сегодня я хотел бы больше узнать об узле, и, прежде чем писать код, я решил убедиться, что у меня последняя версия.

Я проверил версию, и это было что-то вроде v0.10.3x. Я посмотрел на сайте NodeJS, и он показывает последнюю версию как v4.1.0. Вот я и подумал, вааххх! Мне лучше обновиться, и я не мог поверить, что он быстро перешел на версию 4.x всего за несколько месяцев.

Я потратил довольно много времени, пытаясь выяснить, как полностью удалить node и npm, потому что я не мог обновить его.

В конце концов я все разорвал, а затем установил в CentOS 7, используя yum. Я знаю, что через yum я не получу последнюю версию, но я подумал, что это будет достаточно близко.

После установки я нахожусь на v0.10.40.

У меня такое ощущение, что я просто не понимаю что-то о номерах версий NodeJS.

Может кто-нибудь пролить свет на меня? Заранее спасибо.


1
Примите во внимание путаницу, вот ссылка на информацию о типах выпусков nodejs - github.com/nodejs/node#release-types
— arcseldon

3
«Я потратил довольно много времени, пытаясь выяснить, как полностью удалить node и npm, потому что не мог обновить его». - пожалуйста, взгляните на nvm - github.com/creationix/nvm это значительно упрощает установку, изменение и удаление версий узла и npm.
— arcseldon

Ответы:


209

Да, если бы вы использовали только официальную среду исполнения node.js, то она, казалось бы, выпрыгнула с 0.12.x до 4.0.0 одним махом. Возможно, вы не знали, что разработчики узлов, которым надоело то, что хранилище узлов стагнировало, сделали разворот проекта и назвали его io.js. Под именем io.js проект продвигался вперед в течение последних шести месяцев или около того; это началось в v1.x и повторило весь путь через 2.x и 3.x в то время. Старый node.js использовал другую систему управления версиями, в которой нечетные версии были нестабильными, а четные версии были стабильными. Io.js переключился на семантику версионирования semver, которую уже используют пакеты в npm.

После долгих размышлений Joyent (оригинальные сопровождающие node.js) наконец-то сдался и помог сформировать надлежащий открытый комитет вокруг узла, чтобы продвинуть проект вперед почти так же, как io.js уже делал. Несколько месяцев назад они согласились объединить io.js обратно в node.js (что было целью тех, кто создал io.js в первую очередь). Наконец они недавно завершили слияние двух проектов. Имя io.js больше не существует, и node.js живет начиная с версии 4.0. Он будет продолжать использовать семантику semver, как это делал io.js :)

Движение вперед с узлом будет НАМНОГО проще. Я рад видеть, откуда идет этот проект.


2
Спасибо! Я знал о том, что случилось с io.js, когда они запускали разветвление, но, будучи не активным разработчиком узлов, был сбит с толку версией раскола при попытке выяснить, что я использую и что было доступно.
— nbering

7
Но почему в v0.12 все еще идет разработка * (я вижу выпуск v0.12.14 от 6 мая 2016 г.). Это для обратной совместимости?
— user276648

5
@ user276648, потому что 0.12 является версией LTS (долгосрочной поддержки), и они будут продолжать выпускать важные исправления, такие как исправления безопасности и т. д. Вы только когда-либо увидите увеличение количества исправлений. 0.12.x
— Chev

3
Вот информация LTS, если кому-то интересно. github.com/nodejs/LTS
— Chev

1
Возможно, вы могли бы назвать это катастрофой раньше, но сейчас релизы довольно регулярны, и новая структура LTS была хороша для спокойствия. Теперь все работает очень похоже на релизы Ubuntu (только быстрее), и я очень доволен этим. Semver имеет наибольшее значение для узла.
— Chev

4

Это связано с тем, что начиная с версии 4.0 проект Node.js и проект io.js теперь объединены. Что касается проекта io.js, номера версий были как v3.x, v2.x и v1.x.

Ссылка https://nodejs.org/en/blog/release/v4.0.0/


2
Очень плохое объяснение. Предполагается, что OP знает ситуацию ввода / вывода и добавляет, а не устраняет путаницу для новичка.
— 20

3

Вы можете использовать NVM (Node Versioning manager), чтобы избежать путаницы. Преимущество этого пакета в том, что вы можете переключать ч / б две версии по своему усмотрению. Это очень простой в использовании инструмент.

https://www.liquidweb.com/kb/how-to-install-nvm-node-version-manager-for-node-js-on-ubuntu-12-04-lts/


2

если вы используете npm, вы можете обновить с

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

как только node -vсделаете, попробуйте увидеть, что вы получили

увидеть больше на http://davidwalsh.name/upgrade-nodejs


3
Он не спрашивал, как обновить, он спрашивал о серии версий 0.x против серии версий 4.x.
— 20

4
Определенно не ответ на вопрос ОП, а именно то, что я искал!
— ngoue

0

Вы можете обновить узел или npm, используя командную строку. На вашем компьютере должна быть установлена ​​версия узла или npm. Используйте следующую команду в вашем терминале.

npm install node -g
npm install npm

Вы также можете установить конкретную версию узла, как это.

npm install node@8.1.3 
npm install npm@4.1.2

Здесь 8.1.3 - номер версии. Используйте любую версию, которую хотите установить.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.