geerlingguy.nodejs
Ansible-Rolle: Node.js
Installiert Node.js auf RHEL/CentOS oder Debian/Ubuntu.
Anforderungen
Keine.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):
nodejs_version: "16.x"
Die zu installierende Node.js-Version. "14.x" ist der Standard und funktioniert auf den meisten unterstützten Betriebssystemen. Andere Versionen wie "10.x", "14.x", "18.x" usw. sollten auf den neuesten Versionen von Debian/Ubuntu und RHEL/CentOS funktionieren.
nodejs_install_npm_user: "{{ ansible_ssh_user }}"
Der Benutzer, für den die npm-Pakete installiert werden, kann hier festgelegt werden. Standardmäßig ist dies ansible_user.
npm_config_prefix: "/usr/local/lib/npm"
Das globale Installationsverzeichnis. Dieses sollte vom nodejs_install_npm_user beschreibbar sein.
npm_config_unsafe_perm: "false"
Auf "true" gesetzt, um das Wechseln von UID/GID beim Ausführen von Paket-Skripten zu unterdrücken. Wenn es ausdrücklich auf "false" gesetzt wird, schlägt die Installation als Nicht-Root-Benutzer fehl.
nodejs_npm_global_packages: []
Eine Liste von npm-Paketen mit einem name und (optional) version, die global installiert werden sollen. Zum Beispiel:
nodejs_npm_global_packages:
# Eine bestimmte Version eines Pakets installieren.
- name: jslint
version: 0.9.3
# Die neueste stabile Version eines Pakets installieren.
- name: node-sass
# Diese Kurzschreibweise funktioniert ebenfalls (gleiches wie das vorherige Beispiel).
- node-sass
# Ein Paket entfernen, indem der Status auf 'absent' gesetzt wird.
- name: node-sass
state: absent
nodejs_package_json_path: ""
Setzen Sie einen Pfad, der auf ein bestimmtes package.json zeigt (z. B. "/var/www/app/package.json"). Dies installiert alle definierten Pakete global unter Verwendung von Ansible's npm-Modul.
nodejs_generate_etc_profile: "true"
Standardmäßig erstellt die Rolle /etc/profile.d/npm.sh mit exportierten Variablen (PATH, NPM_CONFIG_PREFIX, NODE_PATH). Wenn Sie die Generierung dieser Datei vermeiden möchten (z. B. wenn Sie die Variablen selbst für eine nicht globale Installation festlegen möchten), setzen Sie dies auf "false".
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: utility
vars_files:
- vars/main.yml
roles:
- geerlingguy.nodejs
In vars/main.yml:
nodejs_npm_global_packages:
- name: jslint
- name: node-sass
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde 2014 von Jeff Geerling erstellt, Autor von Ansible for DevOps.
ansible-galaxy install geerlingguy.nodejs