geerlingguy.nodejs

Ansible-Rolle: Node.js

CI

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.

Über das Projekt

Node.js installation for Linux

Installieren
ansible-galaxy install geerlingguy.nodejs
Lizenz
mit
Downloads
3.3M
Besitzer
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns