NodeJS puede actualizarse muy fácilmente con NPM (Node Package Manager) que ya deberíamos de tener instalado si usamos NodeJS con frecuencia. Ademas, usando este método podemos cambiar fácilmente entre versiones de NodeJS, tanto a versiones superiores como a inferiores.
En el caso de que aun no tengamos instalado NodeJs y NPM, aquí se explica cómo instalarlo en Ubuntu y aquí como instalarlo en MacOS. En Windows simplemente hay que descargar el instalador desde la página oficial de NodeJS.
Primero podemos ver la versión de NodeJS que tenemos instalada actualmente con el siguiente comando:
1 |
node -v |
Ahora vamos a instalar el modulo “n” de forma global que nos servirá para instalar y cambiar entre versiones de Node:
1 |
sudo npm install -g n |
Con el modulo “n” instalado, ya podemos usarlo para instalar nuevas versiones de Node o cambiar entre las que ya tenemos, para instalar la ultima versión de Node estable:
1 |
sudo n stable |
También podemos especificar una versión de Node concreta:
1 |
sudo n 8.11.3 |
Este último comando instalará la versión especificada si no la tenemos ya, o simplemente la activará si ya la tenemos descargada. Podemos usar el comando “n” sin parámetros para cambiar entre las versiones de Node que ya tenemos instaladas.
Incompatibilidad de modulos al cambiar versión de Node
Si en un proyecto ya tenemos módulos Node instalados (en “node_modules”), puede que dejen de funcionar al cambiar a una versión de Node distinta de la que se usó para instalarlos. Para resolver este problema podemos usar el comando “rebuild” de npm sobre el proyecto:
1 |
npm rebuild |
Posibles problemas
En el caso de que tengamos una instalación anterior de NodeJS que no ha sido instalada con “n”, puede que al cambiar de versión con “n” no se cambie la versión del sistema, en ese caso podemos enlazar la versión instalada con “n” con la versión node del sistema con el siguiente comando:
1 |
sudo ln -sf /usr/local/n/versions/node/8.4.0/bin/node /usr/bin/node |
Donde “8.4.0” es la versión instalada con “n”. Esto solo hay que hacerlo una vez, los sucesivos cambios de versión con el comando “n” tendrán efecto inmediato.