Confusión de número de versión de NodeJS


154

Instalé Node JS hace varios meses y jugué un poco. Hoy, quería comenzar a aprender más sobre el nodo y antes de codificar, decidí asegurarme de tener la última versión.

Verifiqué la versión y era algo así como v0.10.3x. Miré en el sitio web de NodeJS y muestra la última versión como v4.1.0. ¡Entonces pensé Woahhh! Mejor actualizo y no podía creer que se moviera tan rápido a una versión 4.x en solo unos pocos meses.

Pasé bastante tiempo tratando de descubrir cómo desinstalar completamente node y npm porque parecía que no podía actualizarlo.

Finalmente lo arranqué todo, luego lo instalé en CentOS 7 usando yum. Sé que no obtendré la última versión a través de mmm, pero pensé que sería lo suficientemente cerca.

Después de la instalación, estoy en v0.10.40.

Tengo la sensación de que simplemente no entiendo algo sobre los números de versión de NodeJS.

¿Alguien puede arrojar algo de luz para mí? Gracias por adelantado.


1
Apreciar la confusión, aquí hay un enlace a la información de tipos de lanzamiento de nodejs - github.com/nodejs/node#release-types
— arcseldon

3
"Pasé bastante tiempo tratando de descubrir cómo desinstalar completamente node y npm porque parecía que no podía actualizarlo". - eche un vistazo a nvm - github.com/creationix/nvm, esto hace que la instalación, el cambio y la desinstalación de las versiones de node y npm sean mucho más fáciles.
— arcseldon

Respuestas:


209

Sí, si solo usaste el tiempo de ejecución oficial de node.js, entonces habría saltado de 0.12.x a 4.0.0 de una sola vez. Lo que quizás no sabías es que los desarrolladores de nodos que estaban cansados ​​de cuánto se estancaba el repositorio de nodos hicieron una bifurcación del proyecto y lo llamaron io.js. Bajo el nombre io.js, el proyecto avanzó durante los últimos seis meses más o menos; comenzó en v1.x e iteró hasta 2.xy 3.x en ese momento. El antiguo nodo.js utilizaba un sistema de versiones diferente en el que las versiones impares eran inestables y las versiones pares eran estables. Io.js cambió a usar semántica de versiones semver como paquetes en npm que ya usan.

Después de mucha deliberación, Joyent (mantenedores originales de node.js) finalmente cedió y ayudó a formar un comité abierto adecuado alrededor de node en un esfuerzo por impulsar el proyecto de la misma manera que io.js ya lo estaba haciendo. Hace unos meses acordaron fusionar io.js nuevamente en node.js (que era el objetivo de quienes crearon io.js en primer lugar). Finalmente terminaron de fusionar los dos proyectos recientemente. El nombre io.js ya no existe y node.js sigue vivo a partir de v4.0. Continuará utilizando semántica semver como lo hizo io.js :)

Seguir adelante con el nodo será MUCHO más simple. Estoy emocionado de ver a dónde va el proyecto desde aquí.


2
¡Gracias! Estaba al tanto de lo que sucedió con io.js cuando comenzaron la bifurcación, pero al no ser un desarrollador de nodos activo, me confundió el cisma de la versión al intentar averiguar qué estaba usando frente a lo que estaba disponible.
— nbering

77
Pero, ¿por qué todavía hay desarrollo en v0.12. * (Veo el lanzamiento de v0.12.14 el 6 de mayo de 2016). ¿Es esto por compatibilidad con versiones anteriores?
— user276648

55
@ user276648 porque 0.12 es una versión LTS (Soporte a largo plazo) y continuarán lanzando parches importantes como arreglos de seguridad, etc. Solo verás un aumento en el número de parches. 0.12.x
— Chev

3
Aquí está la información de LTS si alguien está interesado. github.com/nodejs/LTS
— Chev

1
Tal vez podría llamarlo un desastre antes, pero los lanzamientos son bastante regulares ahora y la nueva estructura LTS ha sido agradable para su tranquilidad. Todo funciona muy similar a las versiones de Ubuntu ahora (solo un movimiento más rápido) y estoy bastante contento con eso. Semver tiene más sentido para el nodo.
— Chev

4

Esto se debe a que desde v4.0, el proyecto Node.js y el proyecto io.js que ahora se combinan. En cuanto al proyecto io.js, los números de versión eran como v3.x, v2.xy v1.x.

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


2
Muy mala explicación. Asume que OP conoce la situación io / node y agrega, en lugar de aclarar, cualquier confusión para un novato.
— a20


2

si usa npm puede actualizar con

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

una vez hecho, trata node -vde ver lo que tienes

ver más en http://davidwalsh.name/upgrade-nodejs


3
No estaba preguntando cómo actualizar, estaba preguntando sobre la serie 0.x de números de versión VS la serie 4.x de números de versión.
— a20

44
Definitivamente no es la respuesta a la pregunta del OP, ¡sino lo que estaba buscando!
— ngoue 12/12/2015

0

Puede actualizar el nodo o npm usando la línea de comando. Debe tener una versión de nodo o npm instalada en su máquina. Use el siguiente comando en su terminal.

npm install node -g
npm install npm

También puede instalar la versión específica del nodo, así.

npm install node@8.1.3 
npm install npm@4.1.2

Aquí 8.1.3 es un número de versión. Use cualquiera de las versiones que desea instalar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.