Instalando Node.js en Ubuntu Focal (20.04) antes de su lanzamiento oficial

Instalando Node.js en Ubuntu Focal (20.04) antes de su lanzamiento oficial

Hola a todos,

Hoy, los guiaré por los pasos necesarios para instalar Node.js 10.x en Ubuntu Focal (20.04), el cual será oficialmente lanzado el 23 de abril de este año.

Actualmente, la instalación de Node.js usando los repositorios oficiales de NodeSource no funcionan en esta versión de Ubuntu ya que ellos no soportan las versiones de prueba.

Tal vez pienses que utilizar el repositorio de la versión de Ubuntu anterior funcione, pero no es así, ya que los paquetes de Python 2 han sido renombrados de python a python2.

Tratando de instalar Node.js usando el repositorio de NodeSource

La forma más sencilla de instalar Node.js 10.x es usando el repositorio de NodeSource. Para esto, usamos el siguiente comando:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash

El problema es que como esta versión de Ubuntu no ha sido oficialmente lanzada, se nos presenta el siguiente mensaje:

NodeJS script failing on Ubuntu Focal 20.04

No hay problema. Vamos a intentar instalar Node.js siguiendo las instrucciones para una instalación manual:

  1. Añadimos la llave de firma de los paquetes de NodeSource:
    curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
  2. Configuramos la versión de Node.js a node_10.x:
    VERSION=node_10.x
  3. Utilizaremos la distribución eoan, la versión oficial de Ubuntu más reciente:
    DISTRO="eoan"
  4. Ahora, añadiremos el repositorio a nuestra instalación de Ubuntu con los siguientes comandos:
    echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
    echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
  5. Los comandos se deben ver así al ejecutarlos:
    NodeJS Manual installation commands
  6. Ahora, actualizaremos la información del repositorio con sudo apt update:
    NodeJS manual installation apt update
  7. Procedemos a instalar Node.js usando sudo apt install nodejs:
    NodeJS installing nodejs fails

Como pueden ver, el proceso de instalación manual falla porque no existe el paquete python-minimal en Ubuntu 20.04. Para resolver esto, tenemos que descargar el paquete de Debian de Node.js manualmente y modificarlo para que se refiera a python2-minimal en vez de python-minimal.

Descargando, modificando e instalando Node.js 10.x manualmente

  1. Navegeremos manualmente al repositorio de NodeSource para descargar el archivo aquí: https://deb.nodesource.com/node_10.x/pool/main/n/nodejs/
    NodeJS HTTP repo
  2. Copiaremos el link de descarga de la versión de Node.js que queramos usar. Luego, usaremos wget para descargarlo en el terminal. Recomiendo que estés en una carpeta limpia ya que descomprimiremos varios archivos luego:
    Downloading the NodeJS debian package
  3. Una vez el archivo se haya descargado, lo descomprimiremos con la herramienta ar:
    ar x nodejs_10.19.0-1nodesource1_amd64.deb
    extracting the NodeJS debian package
  4. Ahora, descomprimiremos el archivocontrol.tar.gz:
    tar -xzf control.tar.gz
    Extracting control.tar.gz
  5. Usando nano o algún otro editor de texto, editaremos el archivo control. Busca la parte donde dicepython-minimal:
    nano control
    Editing the control file
  6. Cambiapython-minimal a python2-minimal:
    Renaming python-minimal to python2-minimal
  7. Grabaremos el arhico. Con nano, oprimiremos CTRL + O. Luego, saldremos el editor presionando CTRL + X.
  8. Necesitamos recrear el archivo tar control.tar.gz para incluir el archivo control modificado. Para recrearlo, usamos el siguiente comando:
    tar -czf control.tar.gz control md5sums postinst pr einst prerm
    Recreating the control.tar.gz file
  9. Finalmente, remplazaremos el archivo control.tar.gz en el paquete de debian. Usaremos el siguiente comando para reemplazarlo:
    ar -r nodejs_10.19.0-1nodesource1_amd64.deb control.tar.gz
    Replacing the control.tar.gz in the NodeJS debian package
  10. Ahora, podemos instalarlo usando dpkg. Correremos lo siguiente:
    sudo dpkg -i nodejs_10.19.0-1nodesource1_amd64.deb
    Installing the modified NodeJS debian package

Luego de seguir los pasos anteriores, debemos tener Node.js instalado en nuestro sistema operativo. Podemos confirmarlo corriento node -v y npm -v:

¡Y eso es todo! Hemos instalado Node.js de forma exitosa en nuestra instalación de Ubuntu Focal.