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 porecgalaxy.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 archivonodejs_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.
ansible-galaxy install ecgalaxy.nodejs