nodejs
Ansible Роль: Node.js
Устанавливает Node.js на RHEL/CentOS или Debian/Ubuntu.
Требования
Нет.
Переменные Роли
Доступные переменные перечислены ниже вместе с значениями по умолчанию (см. defaults/main.yml
):
nodejs_version: "16.x"
Версия Node.js для установки. "14.x" является значением по умолчанию и работает на большинстве поддерживаемых ОС. Другие версии, такие как "10.x", "14.x", "18.x" и т.д. должны работать на последних версиях Debian/Ubuntu и RHEL/CentOS.
nodejs_install_npm_user: "{{ ansible_ssh_user }}"
Пользователь, для которого будут установлены npm пакеты, может быть указан здесь, по умолчанию используется ansible_user
.
npm_config_prefix: "/usr/local/lib/npm"
Глобальный каталог установки. Этот каталог должен быть доступен для записи пользователю nodejs_install_npm_user
.
npm_config_unsafe_perm: "false"
Установите в true, чтобы подавить переключение UID/GID при выполнении скриптов пакета. Если явно установить в false, то установка под пользователем без прав root завершится неудачей.
nodejs_npm_global_packages: []
Список npm пакетов с name
и (опционально) version
, которые должны быть установлены глобально. Например:
nodejs_npm_global_packages:
# Установить конкретную версию пакета.
- name: jslint
version: 0.9.3
# Установить последнюю стабильную версию пакета.
- name: node-sass
# Эта сокращённая запись также работает (так же, как предыдущий пример).
- node-sass
# Удалить пакет, установив состояние в 'absent'.
- name: node-sass
state: absent
nodejs_package_json_path: ""
Установите путь к конкретному package.json
(например, "/var/www/app/package.json"
). Это установит все определённые пакеты глобально с использованием модуля npm
в Ansible.
nodejs_generate_etc_profile: "true"
По умолчанию роль создаст /etc/profile.d/npm.sh
с экспортированными переменными (PATH
, NPM_CONFIG_PREFIX
, NODE_PATH
). Если вы предпочитаете избежать генерации этого файла (например, вы хотите установить переменные самостоятельно для не-глобальной установки), установите значение в "false".
Зависимости
Нет.
Пример Плейбука
- hosts: utility
vars_files:
- vars/main.yml
roles:
- geerlingguy.nodejs
Внутри vars/main.yml
:
nodejs_npm_global_packages:
- name: jslint
- name: node-sass
Лицензия
MIT / BSD
Информация об Авторе
Эта роль была создана в 2014 году Джеффом Гирлингом, автором Ansible для DevOps.
ansible-galaxy install geerlingguy/ansible-role-nodejs