geerlingguy.nodejs
Rola Ansible: Node.js
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.
ansible-galaxy install geerlingguy.nodejs