geerlingguy.nodejs

Rôle Ansible : Node.js

CI

Installe Node.js sur RHEL/CentOS ou Debian/Ubuntu.

Exigences

Aucune.

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml) :

nodejs_version: "16.x"

La version de Node.js à installer. "14.x" est la valeur par défaut et fonctionne sur la plupart des systèmes d'exploitation pris en charge. D'autres versions comme "10.x", "14.x", "18.x", etc. devraient fonctionner sur les dernières versions de Debian/Ubuntu et RHEL/CentOS.

nodejs_install_npm_user: "{{ ansible_ssh_user }}"

L'utilisateur pour lequel les packages npm seront installés peut être défini ici, la valeur par défaut est ansible_user.

npm_config_prefix: "/usr/local/lib/npm"

Le répertoire d'installation global. Cela doit être accessible en écriture par nodejs_install_npm_user.

npm_config_unsafe_perm: "false"

Définir sur vrai pour supprimer le changement d'UID/GID lors de l'exécution des scripts de package. S'il est explicitement défini sur faux, l'installation en tant qu'utilisateur non-root échouera.

nodejs_npm_global_packages: []

Une liste de packages npm avec un nom et une version (optionnelle) à installer globalement. Par exemple :

nodejs_npm_global_packages:
  # Installer une version spécifique d'un package.
  - name: jslint
    version: 0.9.3
  # Installer la dernière version stable d'un package.
  - name: node-sass
  # Cette syntaxe abrégée fonctionne aussi (identique à l'exemple précédent).
  - node-sass
  # Supprimer un package en définissant l'état sur 'absent'.
  - name: node-sass
    state: absent
nodejs_package_json_path: ""

Définir un chemin pointant vers un fichier package.json particulier (par exemple "/var/www/app/package.json"). Cela installera tous les packages définis globalement en utilisant le module npm d'Ansible.

nodejs_generate_etc_profile: "true"

Par défaut, le rôle créera /etc/profile.d/npm.sh avec des variables exportées (PATH, NPM_CONFIG_PREFIX, NODE_PATH). Si vous préférez éviter de générer ce fichier (par exemple, si vous souhaitez définir les variables vous-même pour une installation non globale), définissez-le sur "false".

Dépendances

Aucune.

Exemple de Playbook

- hosts: utility
  vars_files:
    - vars/main.yml
  roles:
    - geerlingguy.nodejs

À l'intérieur de vars/main.yml :

nodejs_npm_global_packages:
  - name: jslint
  - name: node-sass

Licence

MIT / BSD

Informations sur l'Auteur

Ce rôle a été créé en 2014 par Jeff Geerling, auteur de Ansible for DevOps.

À propos du projet

Node.js installation for Linux

Installer
ansible-galaxy install geerlingguy.nodejs
Licence
mit
Téléchargements
3.3M
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns