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