ecgalaxy.nodejs
ECGALAXY nodejs
Rôle Ansible qui installe Node.js globalement.
Exigences
- Sur Ubuntu, la commande
gpg-agent
, fournie parecgalaxy.common_packages
.
Variables de rôle
nodejs_version
: Définit la version de Node.js à installer ("18.x", "20.x", etc), en utilisant le gestionnaire de paquets de la distribution.
La version par défaut est 20.x.
Optionnellement, pour installer une version spécifique à partir d'une archive téléchargeable, définissez les variables ci-dessous :
nodejs_download_url
: L'archive Node.js à télécharger (voir https://nodejs.org/dist/)nodejs_checksum
: La somme de contrôle de l'archivenodejs_install_path
: Le chemin où Node.js sera installé
À propos de Node.js 18.x, 20.x et 22.x sur Amazon Linux 2
Les binaires précompilés officiels de Node.js 18.x, 20.x et 22.x ne peuvent pas être utilisés sur Amazon Linux 2, en raison d'incompatibilités binaires (versions de symboles glibc manquantes).
AWS recommande de construire ces versions de Node.js à partir des sources, lorsque vous utilisez Amazon Linux 2 (AL2).
Les binaires précompilés de Node.js 18.x, 20.x et 22.x pour Amazon Linux 2 peuvent être trouvés sur https://code.europa.eu/ecgalaxy/amazonlinux2-nodejs/-/packages
Ils sont téléchargés par ce rôle Ansible (lorsqu'il est exécuté sur AL2),
et sauvegardés dans le dossier /opt/nodejs/<nodejs_version>
.
Des liens symboliques vers les exécutables Node.js sont ensuite créés dans /usr/local/bin
.
Vous voudrez peut-être également mettre à jour votre $PATH
, en pointant vers le dossier /opt/nodejs/<nodejs_version>/bin
.
L'utilisation avec nvm
a été testée avec succès ; la commande nvm use system
pointera correctement vers la version Node.js "globale"
(sauvegardée dans /opt/nodejs/<nodejs_version>
).
Vous pouvez également exécuter ce rôle pour installer globalement 18.x, 20.x et 22.x, puis écraser le contenu de
~/.nvm/versions/node/v<nodejs_version>
pour chacun, ce qui permettra de passer d'une version à une autre
avec nvm use
.
Dépendances
- optionnel : ecgalaxy.bootstrap
- optionnel : ecgalaxy.common_packages
Exemple de Playbook
- hosts: all
roles:
- ecgalaxy.bootstrap
- ecgalaxy.common_packages
- ecgalaxy.nodejs
Une ligne de commande
Pour installer globalement la version par défaut de Node.js :
bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.nodejs
Pour installer globalement 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"}'
Voir ansible-role pour les instructions.
Veuillez vérifier d'abord l'intégrité du script.
Licence
Droit d'auteur l'Union Européenne 2022.
Sous licence EUPL-1.2 ou ultérieure.
Informations sur l'auteur
Équipe ECGALAXY.
NOTE : Ce rôle est basé sur le travail original de Jeff Geerling.
ansible-galaxy install ecgalaxy.nodejs