ecgalaxy.nodejs

ECGALAXY nodejs

Rol de Ansible que instala Node.js globalmente.

Requisitos

  • En Ubuntu, se necesita el comando gpg-agent, que puede ser proporcionado por ecgalaxy.common_packages.

Variables del Rol

  • nodejs_version: Establece la versión de Node.js a instalar ("18.x", "20.x", etc.), usando el gestor de paquetes de la distribución.

La versión predeterminada es 20.x.

Opcionalmente, para instalar una versión específica desde un archivo descargable, establece las siguientes variables:

  • nodejs_download_url: Archivo de Node.js para descargar (ver https://nodejs.org/dist/)
  • nodejs_checksum: La suma de verificación del archivo
  • nodejs_install_path: La ruta donde se instalará Node.js

Acerca de Node.js 18.x, 20.x y 22.x en Amazon Linux 2

Los binarios precompilados oficiales de Node.js 18.x, 20.x y 22.x no se pueden usar en Amazon Linux 2, debido a incompatibilidades binarias (versiones de símbolos glibc faltantes).

AWS recomienda compilar esas versiones de Node.js desde el código fuente al usar Amazon Linux 2 (AL2).

Los binarios precompilados de Node.js 18.x, 20.x y 22.x para Amazon Linux 2 se pueden encontrar en https://code.europa.eu/ecgalaxy/amazonlinux2-nodejs/-/packages.

Se descargan mediante este rol de Ansible (cuando se ejecuta en AL2) y se guardan en la carpeta /opt/nodejs/<nodejs_version>.

Luego, se crean enlaces simbólicos a los ejecutables de Node.js en /usr/local/bin.

También puedes querer actualizar tu $PATH, apuntando a la carpeta /opt/nodejs/<nodejs_version>/bin.

El uso con nvm ha sido probado con éxito; el comando nvm use system apuntará correctamente a la versión "global" de Node.js (guardada en /opt/nodejs/<nodejs_version>).

También puedes ejecutar este rol para instalar globalmente 18.x, 20.x y 22.x, y luego sobrescribir el contenido de ~/.nvm/versions/node/v<nodejs_version> para cada uno, lo que permitirá cambiar de una versión a otra con nvm use.

Dependencias

  • opcional: ecgalaxy.bootstrap
  • opcional: ecgalaxy.common_packages

Ejemplo de Playbook

- hosts: all
  roles:
    - ecgalaxy.bootstrap
    - ecgalaxy.common_packages
    - ecgalaxy.nodejs

Comando en una sola línea

Para instalar globalmente la versión predeterminada de Node.js:

bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.nodejs

Para instalar globalmente Node.js 18.x:

bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.nodejs --extra-vars '{"nodejs_version":"18.x"}'

Consulta ansible-role para instrucciones.

Por favor, verifica primero la integridad del script.

Licencia

Copyright de la Unión Europea 2022.

Licenciado bajo la EUPL-1.2 o posterior.

Información del Autor

Equipo de ECGALAXY.

NOTA: Este rol se basa en trabajo original de Jeff Geerling.

Acerca del proyecto

Ansible role that installs Node.js

Instalar
ansible-galaxy install ecgalaxy.nodejs
Licencia
eupl-1.2
Descargas
6.5k
Propietario
The European Commission ECGALAXY project provides a set of reusable Infrastructure as Code (IaC) tools and components