Плутанина номера версії NodeJS


154

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

Я перевірив версію, і це було щось на кшталт v0.10.3x. Я подивився на веб-сайт NodeJS, і він показує останню версію як v4.1.0. Так я подумав Woahhh! Я краще модернізував, і я не міг повірити, що він швидко перемістився до версії 4.x лише за кілька місяців.

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

Нарешті я все це видобув, а потім встановив у CentOS 7 за допомогою yum. Я знаю, що я не отримаю останню версію через yum, але, я вважав, що це буде досить близько.

Після встановлення я перебуваю на v0.10.40.

У мене таке відчуття, що я просто нічого не розумію щодо номерів версій NodeJS.

Чи може хтось пролити на мене світло? Заздалегідь спасибі.


1
Оцінюйте плутанину, тут є посилання на інформацію про типи випуску nodejs
— github.com/nodejs/node#release-types

3
"Я витратив досить багато часу, намагаючись розібратися, як повністю видалити вузол та 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 працює з версії v4.0. Він продовжуватиме використовувати семантику semver, як і io.js :)

Просування вперед речей з вузлом буде МНОГО простішим. Я з радістю бачу, звідки іде проект.


2
Дякую! Мені було відомо про те, що сталося з io.js, коли вони запускали вилку, але, не будучи активним розробником вузлів, розгубився розкол версії, коли намагався зрозуміти, що я використовую порівняно з тим, що було в наявності.
— nbering

7
Але чому ще існує розвиток в v0.12. * (Я бачу випуск v0.12.14 6 травня 2016 року). Це для зворотної сумісності?
— користувач276648

5
@ user276648, оскільки 0,12 - це версія LTS (Long Term Support), і вони продовжуватимуть випускати важливі виправлення, такі як виправлення безпеки і т. д. Ви тільки побачите, коли кількість патчів збільшуватиметься. 0.12.x
— Шев

3
Ось інформація LTS, якщо хтось зацікавлений. github.com/nodejs/LTS
— Шев

1
Можливо, ви могли б назвати це катастрофою раніше, але випуски зараз досить регулярні, і нова структура LTS була приємною для душевного спокою. Все працює дуже схоже на версії Ubuntu зараз (просто швидше рухається), і я дуже задоволений цим. Semver має найбільш сенс для вузла.
— Шев

4

Це тому, що з v4.0 проект Node.js та проект io.js, які тепер поєднуються. Щодо проекту io.js, то номери версій виглядали як v3.x, v2.x та v1.x.

Довідка https://nodejs.org/en/blog/release/v4.0.0/


2
Дуже погане пояснення. Він передбачає, що ОП знає ситуацію з іоном / вузлом і додає замість очищення будь-яку плутанину для новачка.
— a20,

3

Для уникнення плутанини ви можете використовувати NVM (менеджер версій вузлів). Перевага цього пакету полягає в тому, що ви можете перемикати ж / б дві версії відповідно до вашого зручного. Це дуже простий у користуванні інструмент.

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 номерів версій VS 4x серію номерів версій.
— a20,

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.