2015-09-22 19 views
136

Ho installato Node JS diversi mesi fa e ho giocato un po '. Oggi, volevo iniziare a imparare di più sul nodo e prima della codifica, ho deciso che volevo assicurarmi di avere l'ultima versione.Numero di versione Node confusione

Ho controllato la versione ed era qualcosa come v0.10.3x. Ho consultato il sito Web NodeJS e mostra la versione più recente come v4.1.0. Quindi pensavo a Woahhh! Mi è stato migliorato l'aggiornamento e non potevo credere che si sia spostato così velocemente in una versione 4.x in pochi mesi.

Ho passato un po 'di tempo a cercare di capire come disinstallare completamente nodo e npm perché non riuscivo ad aggiornarlo.

Infine ho ottenuto tutto strappato, quindi installato su CentOS 7 usando yum. So che non otterrò l'ultima versione tramite yum ma, ho pensato che sarebbe stato abbastanza vicino.

Dopo l'installazione, sono alla v0.10.40.

Ho la sensazione che non capisco qualcosa sui numeri di versione di NodeJS.

Qualcuno può far luce per me? Grazie in anticipo.

+1

Apprezzare la confusione, ecco un link per le nodejs rilasciare tipi informazioni - https://github.com/nodejs/node#release-types – arcseldon

+3

"Ho passato un po 'di tempo a cercare di capire come disinstallare completamente node e npm perché non riesco ad aggiornarlo. " - Si prega di dare un'occhiata a nvm - https://github.com/creationix/nvm questo rende molto più facile l'installazione, la modifica e la disinstallazione delle versioni di node e npm. – arcseldon

risposta

194

Sì, se solo tu usato il runtime ufficiale node.js allora sarebbe sembrato saltare da 0.12.x fino a 4.0.0 in un colpo solo. Quello che potreste non sapere era che gli sviluppatori di nodi che erano stufi di quanto il repository del nodo stagnasse costituivano un fork del progetto e lo chiamavano io.js. Sotto il nome io.js il progetto ha marciato in avanti negli ultimi sei mesi circa; è iniziato a v1.x e ha iterato fino a 2.xe 3.x in quel momento. Il vecchio node.js utilizzava un diverso sistema di controllo delle versioni in cui le versioni dispari erano instabili e anche le versioni erano stabili. Io.js è passato a usare la semantica delle versioni semver come già usano i pacchetti su npm.

Dopo molte discussioni, Joyent (i manutentori originali di node.js) alla fine cedettero e contribuirono a formare un vero comitato aperto attorno al nodo nel tentativo di far avanzare il progetto più o meno nello stesso modo in cui io.js stava già facendo. Alcuni mesi fa hanno accettato di unire io.js nuovamente in node.js (che era l'obiettivo di coloro che hanno creato io.js in primo luogo). Finalmente hanno finito di fondere i due progetti di recente. Il nome io.js non esiste più e node.js è attivo a partire dalla v4.0. Continuerà a usare semantica semantica come fa io.js :)

Andare avanti con il nodo sarà MOLTO più semplice. Sono entusiasta di vedere dove il progetto va da qui.

+2

Ottima spiegazione, questa dovrebbe essere la risposta selezionata. – a20

+2

Grazie! Ero a conoscenza di ciò che accadeva con io.js quando iniziarono il fork, ma non essendo uno sviluppatore di nodi attivo, fu confuso dallo scisma della versione quando cercavo di capire cosa stavo usando rispetto a ciò che era disponibile. – nbering

+5

Ma perché c'è ancora sviluppo in v0.12. * (Vedo il rilascio v0.12.14 il 6 maggio 2016). È questo per compatibilità con le versioni precedenti? – user276648

4

Questo perché poiché v4.0, il progetto Node.js e il progetto io.js sono ora combinati. Come per il progetto io.js, i numeri di versione erano come v3.x, v2.x e v1.x.

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

+1

Spiegazione molto scarsa. Presume che OP conosce la situazione io/nodo e aggiunge piuttosto che eliminare ogni confusione per un principiante. – a20

2

se si utilizza NPM è possibile aggiornare con

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

una volta fatto provare node -v per vedere che cosa avete ottenuto

vedere di più al http://davidwalsh.name/upgrade-nodejs

+3

Non chiedeva come aggiornare, chiedeva della serie 0.x dei numeri di versione VS della serie 4.x dei numeri di versione. – a20

+4

Sicuramente non è la risposta alla domanda dell'OP, ma proprio quello che stavo cercando! – ngoue