Si eres desarrollador en JavaScript y utilizas Linux como plataforma, probablemente te habrás visto con la necesidad de utilizar Node.js, sobretodo si estas focalizado en parte del backend. En estos casos, lo más común es que hayas instalado Node.js directamente desde los repositorios oficiales de tu distribución.
En este post te explicaré porque te puede interesar instalar Node.js utilizando nvm, en vez de hacerlo desde los repositorios, y los pasos que debes saber para instalar y gestionar diferentes versiones de Node.js en tu equipo. ¡Vamos allá!
Tabla de contenidos:
- Problemas de permisos al instalar módulos de Node.js desde npm
- Ventajas de instalar Node.js a través de nvm
- Como instalar Nvm en Linux
- Como instalar Node.js y npm desde nvm
- Como comprobar versiones instaladas de Node.js y npm
Problemas de Permisos al Instalar Módulos de Node.Js desde Npm
Si has instalado Node.js desde los repositorios oficiales de tu distribución, es posible que hayas experimentado problemas de permisos cuando intentas instalar módulos de Node a través de npm.
Esto sucede porqué, en el momento de instalar Node, siguiendo la lógica que suele imperar en GNU/Linux a nivel de instalación de paquetes, los ejecutables van a /usr/bin, las librerías en /usr/lib, etc., directorios que, por lo general, requiere permisos de superusuario editar dentro de ellos.
Por otro lado, cuando se instalan módulos adicionales de Node.js a través de npm, el gestor de paquetes nativo de Node, estos se instalan en el directorio de usuario del usuario actual, donde no se tienen permisos de administrador.
En estos casos, la solución mas obvia suele pasar por utilizar npm con «sudo» delante a la hora de instalar cualquier módulo de Node.
Esto, ciertamente, resuelve el problema, pero es una practica del todo mala a nivel de seguridad, ya que supone otorgar privilegios de superusuario a cualquier módulo que se instale con npm, cuando en realidad no necesitan hacer ninguna tarea administrativa que lo justifique. Aquí es donde entra en juego nvm
Ventajas de Instalar Node a Través de Nvm
Nvm son las siglas de Node Version Manager, y se trata de un software de gestión, desde el que podrás instalar y gestionar diferentes instalaciones de Node.js en un mismo sistema, sin problemas de incompatibilidades entre dependencias. Esto te permitirá poder activar la que te convenga en función de los requisitos de cada proyecto con el que puedas estar trabajando.
Además de esto, nvm evita los problemas de permisos antes mencionados, ya que instala Node en un directorio específico dentro de la propia Home de tu usuario, donde no se requieren permisos de superusuario para el acceso y la modificación.
Esto significa que, a partir de ahora, cualquier módulo de Node que instales a través de npm, también se instalará en el directorio dentro de la Home, haciendo del todo innecesario el uso de sudo durante, y evitando cualquier problemas de permisos.
Como Instalar Nvm en Linux
Antes de poder utilizar nvm para instalar y gestionar diferentes versiones de Node.js en Linux, debes obtenerlo mediante el siguiente comando, ya que generalmente es una herramienta que no suele venir en los repositorios oficiales.
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Antes de empezar a utilizar nvm es necesario que reinicies tu sesión de terminal. Esto puedes hacerlo simplemente cerrando y abriendo una nueva ventana de terminal. Ahora, para comprobar que tu sistema ya detecta nvm, puedes ejecutar el siguiente comando, que te indicará la versión de nvm que está instalada.
nvm --version
Ahora ya puedes utilizar nvm para instalar Node.js y gestionar diferentes versiones del mismo, cosa que te explicaré a continuación.
Como Instalar Node.Js y Npm desde Nvm
Para listar las diferentes versiones de Node.js disponibles para su instalación desde nvm, puedes valerte del siguiente comando.
nvm install ls-remote
Personalmente, mi preferencia es instalar siempre la ultima versión LTS disponible, cosa que puedes hacer con el siguiente comando.
nvm install --lts
En caso de que quieras ir a por la ultima versión disponible, aunque no se corresponda con una edición LTS, puedes hacerlo desde el siguiente comando.
nvm install node
Si estas trabajando con un proyecto que requiere si o si una versión muy concreta de Node.js, que no corresponde necesariamente con la ultima versión, entonces puedes hacerlo con el siguiente comando, indicando el número especifica de la versión, que en este ejemplo se corresponde con la 19.8.1
nvm install 19.8.1
Como ves, tienes varias opciones a la hora de instalar Node.js. Si no tienes ninguna necesidad de disponer de distintas versiones de Node.js, sin embargo, mi recomendación es que optes siempre por instalar la última versión LTS.
Cuando instales una versión concreta de Node.js, como has hecho en el paso anterior, automáticamente también se habrá instalado npm, el gestor de paquetes de Node, y que sirve para instalar los diferentes módulos adicionales de Node.
Como Comprobar Versiones Instaladas de Node.Js y Npm
Una vez hayas instalado una versión concreta de Node.js con alguno de los comando anteriores, puedes comprobar la versión que se acaba de instalar con el siguiente comando:
node -v
La gracia de nvm, sin embargo, es que te permite gestionar distintas versiones de Node. Si lo has utilizado para instalar otras versiones en ocasiones anteriores, el siguiente comando te listará cada una de las versiones de Node.js que se encuentran en tu equipo, y que pueden ser gestionadas desde nvm:
nvm ls