Búsqueda de sitios web

NVM: instale y administre múltiples versiones de Node.js en Linux


Node Version Manager (NVM para abreviar) es un script bash simple para administrar múltiples versiones activas de node.js en su sistema Linux. Le permite instalar múltiples versiones de node.js y ver todas las versiones disponibles para instalación y todas las versiones instaladas en su sistema.

Nvm también admite la ejecución de una versión específica de node.js y puede mostrar la ruta al ejecutable donde se instaló, y mucho más.

En este artículo, explicaremos cómo instalar Node Version Manager (NVM) para administrar múltiples versiones activas de node.js en su distribución de Linux.

Instalación de NVM (Administrador de versiones de nodo) en Linux

Para instalar o actualizar nvm en su distribución de Linux, puede descargar el script de instalación automática utilizando las herramientas de línea de comandos curl o wget como 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 instalación automática anterior clona el repositorio nvm en ~/.nvm en su directorio de inicio y agrega los comandos fuente requeridos a sus scripts de inicio de shell, es decir, ~/ .bash_profile, ~/.zshrc, ~/.profile o ~/.bashrc, dependiendo del programa shell que están utilizando como se muestra en el siguiente resultado.

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 se complete la instalación, cierre la ventana de terminal actual y abra una nueva. O simplemente obtenga su archivo de perfil de shell para cargar nvm. Por ejemplo, si está utilizando bash, ejecute el siguiente comando:

source ~/.bashrc
OR
source ~/.profile

A continuación, verifique si nvm se ha instalado en su sistema usando el siguiente comando.

command -v nvm

nvm

Mostrará el resultado como 'nvm' si la instalación se realizó correctamente.

Instale varias versiones de Node.js usando NVM

Ahora es el momento de aprender a utilizar Node Version Manager en Linux. Para descargar, compilar e instalar la última versión de node, ejecute el siguiente comando:

nvm install node 

Tenga en cuenta que en el comando anterior, “nodo” 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 de “nodo” específica, primero enumere las versiones de nodo disponibles y luego instale 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 haya instalado una versión de Node.js usando nvm, el sistema ahora debería apuntar a Node.js y npm. versiones bajo nvm. Puede comprobar la ubicación del nodo y del comando/binario npm que se utilizan ejecutando el comando what 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 instaladas de Node.js

Puede 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)

Elija la versión del nodo para un proyecto

Aquí es donde nvm se vuelve interesante. Ahora puede usar nvm para elegir la versión de node.js que desea usar para cada proyecto en el que esté trabajando, según los requisitos. Veamos cómo hacer esto, como se explica a continuación.

Abra varias terminales y acceda a los directorios del proyecto. Para esta guía, tenemos dos proyectos en ~/projects/app-server y ~/projects/test-ui que requieren engañosamente la versión de nodo 19.0.0 y 20.0.0. .

------------ 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 tiene un paquete global instalado cuando la versión 19.0.0 está activa, cuando cambie a la versión 20.0.0, deberá reinstalar el paquete global en la nueva versión.

Es importante destacar que puede ver la ruta al ejecutable donde se instaló una versión de nodo específica 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 configurar manualmente una versión de nodo predeterminada para usar en cualquier shell nuevo, use el alias “default” como se muestra.

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Desinstalación de la versión Node.js en Linux

Para desinstalar o eliminar una versión de Node.js, ejecute 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 del 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 script bash simple 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.