Node Version Manager (NVM abreviado) es un simple script de bash para gestionar múltiples versiones activas de node.js en tu sistema Linux. Te permite instalar múltiples versiones de node.js, y ver todas las versiones disponibles para la instalación y todas las versiones instaladas en tu sistema.
Nvm también soporta la ejecución de una versión específica de node.js y puede mostrar la ruta al ejecutable donde fue instalado, y mucho más.
En este artículo, explicaremos cómo instalar Node Version Manager (NVM) para gestionar múltiples versiones activas de node.js en tu distribución Linux.
Tabla de Contenidos
Instalar NVM (Node Version Manager) en Linux
Para instalar o actualizar nvm en tu distribución de Linux, puedes descargar el script de autoinstalación utilizando las herramientas de línea de comandos curl o wget según se muestra.
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash OR # wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
El script de autoinstalación anterior clona el repositorio de nvm en ~/.nvm
en tu directorio de inicio y agrega los comandos de origen requeridos a tus scripts de inicio de shell, es decir, ~/.bash_profile, ~/.zshrc, ~/.profile o ~/.bashrc, dependiendo del programa de shell que estés utilizando, como se muestra en la siguiente salida.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15916 100 15916 0 0 34227 0 --:--:-- --:--:-- --:--:-- 34301 => Downloading nvm from git to '/root/.nvm' => Cloning into '/root/.nvm'... remote: Enumerating objects: 359, done. remote: Counting objects: 100% (359/359), done. remote: Compressing objects: 100% (305/305), done. remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0 Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done. Resolving deltas: 100% (40/40), done. * (HEAD detached at FETCH_HEAD) master => Compressing and cleaning up git repository => Appending nvm source string to /root/.bashrc => Appending bash_completion source string to /root/.bashrc => You currently have modules installed globally with `npm`. These will no => longer be linked to the active version of Node when you install a new node => with `nvm`; and they may (depending on how you construct your `$PATH`) => override the binaries of modules installed with `nvm`: ...
Una vez que la instalación esté completa, cierra tu ventana de terminal actual y abre una nueva. O simplemente carga tu archivo de perfil de shell para cargar nvm. Por ejemplo, si estás utilizando bash, ejecuta el siguiente comando:
$ source ~/.bashrc OR $ source ~/.profile
A continuación, verifica si nvm ha sido instalado en tu sistema usando el siguiente comando.
# command -v nvm nvm
Mostrará la salida como ‘nvm‘ si la instalación fue exitosa.
Instalar Múltiples Versiones de Node.js Usando NVM
Ahora es el momento de aprender cómo usar el Gestor de Versiones de Node en Linux. Para descargar, compilar e instalar la última versión de node, ejecuta el siguiente comando:
# nvm install node
Ten en cuenta que en el comando anterior, “node” es un alias para la última versión.
Downloading and installing node v20.0.0... Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v20.0.0 (npm v9.6.4) Creating default alias: default -> node (-> v20.0.0)
Para instalar una versión específica de “node”, primero lista las versiones de node disponibles y luego instala la versión como se muestra.
# nvm ls-remote # nvm install 19.0.0
Downloading and installing node v19.0.0... Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v19.0.0 (npm v8.19.2)
Una vez que hayas instalado una versión de Node.js utilizando nvm, el sistema debería apuntar ahora a las versiones de Node.js y npm bajo nvm. Puedes verificar la ubicación del comando/binario de node y npm que se está utilizando ejecutando el comando which de la siguiente manera:
# which node /root/.nvm/versions/node/v20.0.0/bin/node # which npm /root/.nvm/versions/node/v20.0.0/bin/npm # node -v v20.0.0 # npm -v 9.6.4
Listado de Versiones de Node.js Instaladas
Puedes verificar todas las versiones instaladas con el siguiente comando:
# nvm ls
-> v19.0.0 v20.0.0 system default -> node (-> v20.0.0) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v20.0.0) (default) stable -> 20.0 (-> v20.0.0) (default) lts/* -> lts/hydrogen (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.21.3 (-> N/A) lts/gallium -> v16.20.0 (-> N/A) lts/hydrogen -> v18.16.0 (-> N/A)
Elegir la Versión de Node para un Proyecto
Aquí es donde nvm se vuelve interesante. Ahora puedes usar nvm para elegir la versión de Node.js a utilizar para cada proyecto en el que estás trabajando, según los requisitos. Veamos cómo hacerlo, como se explica a continuación.
Abre múltiples terminales y muévete a los directorios del proyecto. Para esta guía, tenemos dos proyectos bajo ~/proyectos/app-server
y ~/proyectos/test-ui
que requieren la versión de Node 19.0.0 y 20.0.0 respectivamente.
------------ Project 1 ------------ $ cd ~/projects/api-server $ nvm use 19.0.0 $ node -v ------------ Project 2 ------------ $ cd ~/projects/test-ui $ nvm use 20.0.0 $ node -v
Por ejemplo, si tienes un paquete global instalado cuando la versión 19.0.0 está activa, cuando cambies a la versión 20.0.0, necesitarás reinstalar el paquete global bajo la nueva versión.
Es importante destacar que puedes ver la ruta al ejecutable donde se instaló una versión específica de Node de la siguiente manera:
# nvm which 20.0.0 # nvm which 19.0.0 # nvm which system #check system-installed version of a node using “system” alias
Establecer la versión predeterminada de Node.js en Linux
Además, para establecer manualmente una versión predeterminada de node para ser utilizada en cualquier nueva shell, use el alias “default” como se muestra a continuación.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Desinstalar la versión de Node.js en Linux
Para desinstalar o eliminar una versión de Node.js, emita el siguiente comando (no olvide reemplazar 19.0.0 con el número de versión):
# nvm uninstall 19.0.0
Desinstalar NVM en Linux
Para eliminar nvm manualmente de su sistema, ejecute los siguientes comandos:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
A continuación, edite ~/.bashrc (o el archivo de configuración de perfil de shell correspondiente, como se indica arriba) y elimine las siguientes líneas de configuración:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
Para obtener más información, consulte nvm --help
o vaya al repositorio de Node Version Manager Github: https://github.com/nvm-sh/nvm.
¡Eso es todo! Node Version Manager es un simple script de bash para administrar múltiples versiones activas de node.js en su sistema Linux. Utilice el formulario de comentarios a continuación para hacer preguntas o compartir sus comentarios con nosotros.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/