Zamieszanie numeru wersji NodeJS


154

Zainstalowałem Node JS kilka miesięcy temu i trochę się pobawiłem. Dzisiaj chciałem dowiedzieć się więcej o węźle i przed kodowaniem zdecydowałem, że chcę się upewnić, że mam najnowszą wersję.

Sprawdziłem wersję i było to coś w rodzaju v0.10.3x. Spojrzałem na stronę NodeJS i pokazuje ona najnowszą wersję jako v4.1.0. Więc pomyślałem Woahhh! Lepiej zaktualizuję i nie mogłem uwierzyć, że przeniósł się tak szybko do wersji 4.x w ciągu zaledwie kilku miesięcy.

Spędziłem trochę czasu próbując dowiedzieć się, jak całkowicie odinstalować node i npm, ponieważ nie mogłem go zaktualizować.

W końcu wszystko zostało wyrwane, a następnie zainstalowane na CentOS 7 za pomocą yum. Wiem, że nie otrzymam najnowszej wersji przez yum, ale pomyślałem, że będzie wystarczająco blisko.

Po instalacji mam v0.10.40.

Mam wrażenie, że po prostu nie rozumiem czegoś o numerach wersji NodeJS.

Czy ktoś może rzucić dla mnie trochę światła? Z góry dziękuję.


1
Doceń zamieszanie, oto link do informacji o typach wydań nodejs
github.com/nodejs/node#release-types

3
„Spędziłem sporo czasu, próbując dowiedzieć się, jak całkowicie odinstalować node i npm, ponieważ nie mogłem ich zaktualizować”. - spójrz na nvm - github.com/creationix/nvm to znacznie ułatwia instalowanie, zmienianie i odinstalowywanie wersji node i npm.
arcseldon

Odpowiedzi:


209

Tak, gdybyś używał tylko oficjalnego środowiska uruchomieniowego node.js, wyglądałoby na to, że przeskoczył z 0.12.x do 4.0.0 za jednym zamachem. Być może nie wiedzieliście, że twórcy węzłów, którzy mieli dość tego, jak bardzo repozytorium węzłów znajdowało się w stagnacji, rozwinęli projekt i nazwali go io.js. Pod nazwą io.js projekt rozwijał się przez ostatnie sześć miesięcy; Zaczęło się od wersji 1.x i w tym czasie przechodziło iterację aż do 2.x i 3.x. Stary node.js używał innego systemu wersjonowania, w którym wersje nieparzyste były niestabilne, a wersje parzyste były stabilne. Io.js przełączył się na używanie semantyki wersjonowania semver, takiej jak pakiety na npm już używane.

Po długich rozważaniach Joyent (pierwotni opiekunowie node.js) w końcu się ugięli i pomogli w utworzeniu właściwego komitetu otwartego wokół węzła, starając się popchnąć projekt do przodu w taki sam sposób, w jaki już robił io.js. Kilka miesięcy temu zgodzili się na ponowne połączenie io.js z node.js (co było celem tych, którzy stworzyli io.js w pierwszej kolejności). Niedawno zakończyli łączenie obu projektów. Nazwa io.js już nie istnieje, a node.js istnieje od wersji 4.0. Będzie nadal używać semantyki semver, tak jak zrobił to io.js :)

Dalsze rzeczy z node będą DUŻO prostsze. Nie mogę się doczekać, aby zobaczyć, dokąd zmierza projekt.


2
Dzięki! Byłem świadomy tego, co się stało z io.js, gdy rozpoczęli rozwidlenie, ale nie będąc deweloperem aktywnego węzła, byłem zdezorientowany przez schizmę wersji, gdy próbowałem dowiedzieć się, co używam, a co jest dostępne.
nbering

7
Ale dlaczego wciąż jest rozwój w wersji 0.12. * (Widzę wydanie v0.12.14 z 6 maja 2016). Czy to dla wstecznej kompatybilności?
user276648

5
@ user276648, ponieważ 0.12 jest wersją LTS (Long Term Support) i będą nadal wydawać ważne łaty, takie jak poprawki bezpieczeństwa itp. Będziesz widział tylko wzrost numeru poprawki. 0.12.x
Chev

3
Oto informacje LTS, jeśli ktoś jest zainteresowany. github.com/nodejs/LTS
Chev

1
Może wcześniej można to nazwać katastrofą, ale teraz wydania są dość regularne, a nowa struktura LTS jest miła dla spokoju ducha. Wszystko działa teraz bardzo podobnie do wydań Ubuntu (tylko szybciej się porusza) i jestem z tego całkiem zadowolony. Semver ma największy sens w przypadku node.
Chev

4

Dzieje się tak, ponieważ od wersji 4.0 projekt Node.js i projekt io.js są teraz połączone. Jeśli chodzi o projekt io.js, numery wersji były takie jak v3.x, v2.x i v1.x.

Źródła https://nodejs.org/en/blog/release/v4.0.0/


2
Bardzo słabe wyjaśnienie. Zakłada się, że OP zna sytuację IO / Węzeł i raczej dodaje niż usuwa wszelkie zamieszanie dla początkującego.
a20


2

jeśli używasz npm, możesz uaktualnić za pomocą

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

kiedy już to zrobisz, spróbuj node -vzobaczyć, co masz

zobacz więcej na http://davidwalsh.name/upgrade-nodejs


3
Nie pytał, jak uaktualnić, pytał o serię numerów wersji 0.x VS serię numerów wersji 4.x.
a20

4
Zdecydowanie nie odpowiedź na pytanie OP, ale właśnie to, czego szukałem!
ngoue

0

Możesz zaktualizować węzeł lub npm za pomocą wiersza poleceń. Musisz mieć zainstalowaną wersję node lub npm na swoim komputerze. Użyj następującego polecenia w swoim terminalu.

npm install node -g
npm install npm

Możesz także zainstalować określoną wersję węzła, w ten sposób.

npm install node@8.1.3 
npm install npm@4.1.2

Tutaj 8.1.3 to numer wersji. Użyj dowolnej wersji, którą chcesz zainstalować.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.