geerlingguy.nodejs

Rola Ansible: Node.js

CI

Instaluje Node.js na systemach RHEL/CentOS lub Debian/Ubuntu.

Wymagania

Brak.

Zmienne roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):

nodejs_version: "16.x"

Wersja Node.js do zainstalowania. "14.x" jest domyślną wersją, która działa na większości obsługiwanych systemów operacyjnych. Inne wersje takie jak "10.x", "14.x", "18.x" itd. powinny działać na najnowszych wersjach Debian/Ubuntu oraz RHEL/CentOS.

nodejs_install_npm_user: "{{ ansible_ssh_user }}"

Użytkownik, dla którego będą instalowane pakiety npm, może być tutaj ustawiony, domyślnie jest to ansible_user.

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

Globalny katalog instalacyjny. Ten katalog powinien być zapisywalny przez nodejs_install_npm_user.

npm_config_unsafe_perm: "false"

Ustaw na true, aby zablokować przełączanie UID/GID podczas uruchamiania skryptów pakietów. Jeśli jest jawnie ustawione na false, instalacja jako użytkownik nie-root zakończy się niepowodzeniem.

nodejs_npm_global_packages: []

Lista pakietów npm z name i (opcjonalnie) version, które mają być zainstalowane globalnie. Na przykład:

nodejs_npm_global_packages:
  # Zainstaluj konkretną wersję pakietu.
  - name: jslint
    version: 0.9.3
  # Zainstaluj najnowszą stabilną wersję pakietu.
  - name: node-sass
  # Ta krótka składnia również działa (to samo, co poprzedni przykład).
  - node-sass
  # Usuń pakiet, ustawiając stan na 'absent'.
  - name: node-sass
    state: absent
nodejs_package_json_path: ""

Ustaw ścieżkę wskazującą na konkretny plik package.json (np. "/var/www/app/package.json"). To zainstaluje wszystkie zdefiniowane pakiety globalnie, używając modułu npm Ansible.

nodejs_generate_etc_profile: "true"

Domyślnie rola utworzy /etc/profile.d/npm.sh z wyeksportowanymi zmiennymi (PATH, NPM_CONFIG_PREFIX, NODE_PATH). Jeśli wolisz unikać generowania tego pliku (np. chcesz sam ustawić zmienne dla instalacji nieglobalnej), ustaw to na "false".

Zależności

Brak.

Przykład Playbooka

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

Wewnątrz vars/main.yml:

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

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona w 2014 roku przez Jeffa Geerlinga, autora Ansible for DevOps.

Zainstaluj
ansible-galaxy install geerlingguy.nodejs
Licencja
mit
Pobrania
3.3M
Właściciel
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns