Cómo gestionar las versiones de NodeJS con n en Ubuntu 20.04

Si eres un desarrollador de Node.js que cambia con frecuencia entre varias aplicaciones y proyectos. Entonces puede que necesites encontrar una herramienta que te permita alternar entre versiones de Node.js. En Linux, existen numerosas utilidades para gestionar varias versiones de Node.js. Entre ellas, el gestor de versiones de Node es una herramienta sencilla y útil para gestionar las versiones de Node.js.

En este tutorial, te mostraremos cómo utilizar n para gestionar las versiones de Node.js en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

En primer lugar, se recomienda actualizar los paquetes del sistema a la última versión. Puedes actualizarlos todos con el siguiente comando:

apt-get update -y

Después de actualizar todos los paquetes, es posible que también tengas que instalar algunas dependencias necesarias en tu servidor. Puedes instalarlas todas con el siguiente comando:

apt-get install curl git make -y

Una vez instaladas todas las dependencias, puedes pasar al siguiente paso.

Instalar n

Hay varias formas de instalar n en Linux. La forma más sencilla y fácil de instalar n es utilizando npm.

Ejecuta el siguiente comando para instalar n:

npm install -g n

Si npm no está instalado en tu sistema, puedes instalarlo descargando el script n de GitHub:

curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
bash n lts

Esto instalará Node.js, npm y n en tu sistema. Por defecto, el script anterior no instala n en la ruta del sistema. Así que tendrás que añadirlo a la ruta de tu usuario.

nano ~/.bashrc

Añade las siguientes líneas:

export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH

Guarda y cierra el archivo y luego activa la ruta con el siguiente comando:

source ~/.bashrc

También puedes instalar n con el script n-install. Puedes descargar y ejecutar el script n-install como se muestra a continuación:

curl -L https://git.io/n-install | bash

A continuación, activa la ruta del sistema n con el siguiente comando:

source ~/.bashrc

Si quieres desinstalar n de tu sistema, ejecuta el siguiente comando:

n-uninstall

Para actualizar n a la última versión, ejecuta el siguiente comando:

n-update

Para comprobar la versión de n, ejecuta el siguiente comando:

n --version

Deberías obtener la siguiente salida:

7.3.0

Para comprobar todas las opciones disponibles con n, ejecuta el siguiente comando:

n --help

Deberías obtener el siguiente resultado:

Usage: n [options] [COMMAND] [args]

Commands:

  n                              Display downloaded Node.js versions and install selection
  n latest                       Install the latest Node.js release (downloading if necessary)
  n lts                          Install the latest LTS Node.js release (downloading if necessary)
  n                     Install Node.js  (downloading if necessary)
  n install             Install Node.js  (downloading if necessary)
  n run  [args ...]     Execute downloaded Node.js  with [args ...]
  n run  [args ...]     Execute downloaded node  with [args ...]
  n which               Output path for downloaded node 
  n exec   [args...]  Execute command with modified PATH, so downloaded node  and npm first
  n rm              Remove the given downloaded version(s)
  n prune                        Remove all downloaded versions except the installed version
  n --latest                     Output the latest Node.js version available
  n --lts                        Output the latest LTS Node.js version available
  n ls                           Output downloaded versions
  n ls-remote [version]          Output matching versions available for download
  n uninstall                    Remove the installed Node.js

Options:

  -V, --version         Output version of n
  -h, --help            Display help information
  -p, --preserve        Preserve npm and npx during install of Node.js
  -q, --quiet           Disable curl output. Disable log messages processing "auto" and "engine" labels.
  -d, --download        Download only
  -a, --arch            Override system architecture
  --all                 ls-remote displays all matches instead of last 20
  --insecure            Turn off certificate checking for https requests (may be needed from behind a proxy server)
  --use-xz/--no-use-xz  Override automatic detection of xz support and enable/disable use of xz compressed node downloads.

Gestionar las versiones de Node.j

Para instalar la última versión de Node.js, ejecuta el siguiente comando:

n latest

Deberías obtener la siguiente salida:

  installing : node-v16.4.0
       mkdir : /root/n/n/versions/node/16.4.0
       fetch : https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-x64.tar.xz
   installed : v16.4.0 (with npm 7.18.1)

A continuación, comprueba la versión de Node.js con el siguiente comando:

node --version

Deberías obtener el siguiente resultado:

v16.4.0

Para instalar la versión de Node.js lts, ejecuta el siguiente comando:

n lts

Deberías obtener el siguiente resultado:

   installed : v14.17.1 (with npm 6.14.13)

Para instalar la versión específica de Node.js, ejecuta el siguiente comando:

n 14.15.0

Deberías obtener el siguiente resultado:

installing : node-v14.15.0
       mkdir : /root/n/n/versions/node/14.15.0
       fetch : https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz
   installed : v14.15.0 (with npm 6.14.8)

Para descargar la versión específica de Node.js, ejecuta el siguiente comando

n -d 14.8.0

Deberías obtener el siguiente resultado:

  installing : node-v14.8.0
       mkdir : /root/n/n/versions/node/14.8.0
       fetch : https://nodejs.org/dist/v14.8.0/node-v14.8.0-linux-x64.tar.xz

Para utilizar la versión de Node.js descargada, ejecuta el siguiente comando:

n run 14.8.0

Deberías ver la siguiente salida:

Welcome to Node.js v14.8.0.
Type ".help" for more information.

A continuación, sal del shell de Node.js con el siguiente comando

> .exit

Para listar todas las versiones instaladas de Node.js, ejecuta el siguiente comando:

n ls

Deberías obtener la siguiente salida:

node/14.8.0
node/14.15.0
node/14.17.1
node/16.4.0

Para listar todas las versiones de Node.js disponibles, ejecuta el siguiente comando:

n ls-remote

Deberías obtener el siguiente resultado:

Listing remote... Displaying 20 matches (use --all to see all).
16.4.0
16.3.0
16.2.0
16.1.0
16.0.0
15.14.0
15.13.0
15.12.0
15.11.0
15.10.0
15.9.0
15.8.0
15.7.0
15.6.0
15.5.1
15.5.0
15.4.0
15.3.0
15.2.1
15.2.0

El comando anterior sólo mostrará 20 versiones disponibles. Si quieres listar todas las versiones de Node.js disponibles, ejecuta el siguiente comando:

n ls-remote --all

Para encontrar la ubicación de una versión específica de Node.js, ejecuta el siguiente comando:

n which node/14.8.0

Deberías obtener la siguiente salida:

/root/n/n/versions/node/14.8.0/bin/node

Para cambiar entre diferentes versiones de Node.js, ejecuta el siguiente comando:

n

Se te pedirá que selecciones la versión de Node.js que quieres cambiar:

    node/14.8.0
    node/14.15.0
  ο node/14.17.1
    node/16.4.0

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

Selecciona la versión de Node.js que desees y pulsa Intro para establecerla como versión por defecto.

Eliminar la versión de Node.js con n

Para eliminar una versión específica de Node.js, ejecuta el siguiente comando:

n rm node/16.4.0

Para eliminar todas las versiones de Node.js descargadas, ejecuta el siguiente comando:

n prune

Para eliminar todas las versiones de Node.js instaladas, ejecuta el siguiente comando:

n uninstall

Deberías ver la siguiente salida:

Do you wish to delete node and npm from /root/n? Y

Uninstalling node and npm
/root/n/bin/node
/root/n/bin/npm
/root/n/bin/npx
/root/n/include/node
/root/n/lib/node_modules/npm
/root/n/share/doc/node
/root/n/share/man/man1/node.1
/root/n/share/systemtap/tapset/node.stp

Conclusión

En la guía anterior, has aprendido a instalar y gestionar las versiones de Node.js utilizando n. Espero que esto te ayude a cambiar fácilmente entre diferentes proyectos y aplicaciones.

También te podría gustar...