geerlingguy.nodejs

Ansible Rol: Node.js

CI

Instala Node.js en RHEL/CentOS o Debian/Ubuntu.

Requisitos

Ninguno.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml):

nodejs_version: "16.x"

La versión de Node.js a instalar. "14.x" es la predeterminada y funciona en la mayoría de los sistemas operativos soportados. Otras versiones como "10.x", "14.x", "18.x", etc., deberían funcionar en las últimas versiones de Debian/Ubuntu y RHEL/CentOS.

nodejs_install_npm_user: "{{ ansible_ssh_user }}"

El usuario para quien se instalarán los paquetes de npm se puede establecer aquí, de forma predeterminada es ansible_user.

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

El directorio de instalación global. Este debe ser escribible por el nodejs_install_npm_user.

npm_config_unsafe_perm: "false"

Establecer en true para suprimir el cambio de UID/GID al ejecutar scripts de paquete. Si se establece explícitamente en false, la instalación como usuario no root fallará.

nodejs_npm_global_packages: []

Una lista de paquetes de npm con un name y (opcional) version que se instalarán globalmente. Por ejemplo:

nodejs_npm_global_packages:
  # Instalar una versión específica de un paquete.
  - name: jslint
    version: 0.9.3
  # Instalar la última versión estable de un paquete.
  - name: node-sass
  # Esta sintaxis abreviada también funciona (igual que el ejemplo anterior).
  - node-sass
  # Eliminar un paquete estableciendo el estado a 'absent'.
  - name: node-sass
    state: absent
nodejs_package_json_path: ""

Establecer una ruta apuntando a un package.json particular (por ejemplo, "/var/www/app/package.json"). Esto instalará todos los paquetes definidos globalmente usando el módulo npm de Ansible.

nodejs_generate_etc_profile: "true"

Por defecto, el rol creará /etc/profile.d/npm.sh con variables exportadas (PATH, NPM_CONFIG_PREFIX, NODE_PATH). Si prefieres evitar generar ese archivo (por ejemplo, quieres establecer las variables tú mismo para una instalación no global), establece en "false".

Dependencias

Ninguna.

Ejemplo de Playbook

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

Dentro de vars/main.yml:

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

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2014 por Jeff Geerling, autor de Ansible for DevOps.

Acerca del proyecto

Node.js installation for Linux

Instalar
ansible-galaxy install geerlingguy.nodejs
Licencia
mit
Descargas
3.3M
Propietario
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns