2015-09-22 27 views
136

Zainstalowałem Node JS kilka miesięcy temu i grałem trochę. Dzisiaj chciałem zacząć uczyć się więcej o węźle i zanim zacząłem kodować, zdecydowałem, że chcę mieć pewność, że mam najnowszą wersję.NodeJS numer wersji zamieszanie

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

Spędziłem sporo czasu, próbując dowiedzieć się, jak całkowicie odinstalować węzeł i npm, ponieważ nie mogłem go uaktualnić.

W końcu udało mi się wyrwać, a następnie zainstalować na CentOS 7 używając yum. Wiem, że nie dostanę najnowszej wersji przez mniam, ale pomyślałem, że będzie wystarczająco blisko.

Po instalacji, jestem na v0.10.40.

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

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

+1

Docenić zamieszanie, tutaj jest link do nodejs zwolnić typów informacji - https://github.com/nodejs/node#release-types – arcseldon

+3

„Spędziłem trochę czasu próbuje dowiedzieć się, w jaki sposób całkowicie odinstalować węzeł i npm, ponieważ nie mogłem go zaktualizować. " - proszę spojrzeć na stronę nvm - https://github.com/creationix/nvm, która znacznie ułatwia instalację, zmianę i odinstalowanie wersji węzła i npm. – arcseldon

Odpowiedz

194

Tak tylko jeśli użył oficjalnego środowiska wykonawczego node.js, a następnie prawdopodobnie przeskoczyłby od 0.12.x do 4.0.0 za jednym zamachem. Być może nie wiedzieliśmy, że twórcy węzłów, którzy mieli dość tego, ile repozytorium węzłów stagnowało, rozwinęli projekt i nazwali go io.js. Pod nazwą io.js projekt przesunął się w ciągu ostatnich sześciu miesięcy; Zaczęło się od wersji 1.x i przez cały czas trwało iterowanie w trybie 2.x i 3.x. Stary node.js używał innego systemu wersjonowania, w którym wersje nieparzyste były niestabilne, a nawet wersje były stabilne. Io.js przełączył się na używanie semantyki wersjonowania semver, takich jak pakiety na już używanym npm.

Po wielu naradach Joyent (pierwotni opiekunowie node.js) w końcu zapadł i pomógł stworzyć właściwą otwartą komisję wokół węzła, starając się popchnąć projekt do przodu w taki sam sposób, jaki już robił io.js. Kilka miesięcy temu zgodzili się na połączenie io.js z powrotem w node.js (co było celem tych, którzy stworzyli program io.js w pierwszej kolejności). W końcu zakończyli ostatnio połączenie obu projektów. Nazwa io.js już nie istnieje, a plik node.js działa od wersji 4.0. Będzie nadal używać semantycznych semantek, takich jak io.js did :)

Idąc dalej rzeczy z węzłem będzie DUŻO prostsze. Cieszę się, że widzę, dokąd zmierza projekt.

+2

Świetne wyjaśnienie, to powinna być wybrana odpowiedź. – a20

+2

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

+5

Ale dlaczego wciąż jest rozwój w wersji v0.12. * (Widzę wydanie v0.12.14 w dniu 6 maja 2016 r.). Czy to jest ze względu na kompatybilność wsteczną? – user276648

4

To dlatego, że od wersji 4.0, projektu Node.js i projektu io.js, które są teraz połączone. Jeśli chodzi o projekt io.js, numery wersji były podobne do wersji v3.x, v2.x i v1.x.

referencyjny https://nodejs.org/en/blog/release/v4.0.0/

+1

Bardzo słabe wyjaśnienie. Zakłada ona, że ​​OP zna sytuację w I/O/węźle i dodaje raczej niż jakiekolwiek zamieszanie dla początkującego. – a20

2

jeśli używasz npm można uaktualnić z

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

raz wykonanej próby node -v zobaczyć co masz

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

+3

Nie pytał o aktualizację, pytał o serię numerów wersji 0.x VS serii wersji 4.x. – a20

+4

Zdecydowanie nie jest to odpowiedź na pytanie OP, ale właśnie tego szukałem! – ngoue