Saltar al contenido

Instalación de NodeJS LTS para Ansible

Solución:

Aquí está el ejemplo de trabajo:

---
- hosts: all
  gather_facts: yes
  become: yes
  vars:
    NODEJS_VERSION: "8"
    ansible_distribution_release: "xenial" #trusty
  tasks:
    - name: Install the gpg key for nodejs LTS
      apt_key:
        url: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key"
        state: present

    - name: Install the nodejs LTS repos
      apt_repository:
        repo: "deb https://deb.nodesource.com/node_{{ NODEJS_VERSION }}.x {{ ansible_distribution_release }} main"
        state: present
        update_cache: yes

    - name: Install the nodejs
      apt:
        name: nodejs
        state: present

Espero que te ayude

No es que esté muy feliz de haber tenido que hacer esto, pero …

(env: Ubuntu 18.04, ansible 2.6.1, host: macOS )

de https://github.com/nodesource/distributions/blob/master/README.md#debinstall

- name: install node 
  shell: |
    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - && sudo apt-get install -y nodejs

resultado:

> [email protected]:~$ node --version
v10.15.2

y npm debe haber venido también:

[email protected]:~$ npm --version
6.4.1

En el momento en que ejecuté esto, se mostraba https://www.npmjs.com/package/npm 6.8.0 como último, con 6.4.1 siendo de 6 meses antes. Nodo estaba mostrando 10.15.2 como el último de la serie 10.x, que data de 5 días antes.

por cierto, también lo intenté apt-get pero eso terminó con el nodo 8.x en lugar de 10.x

Y la razón por la que no usé un rol de galaxia ansible es que no vi ninguno de nodejs que pareciera provenir de autores conocidos y con muchas estrellas y descargas (soy cauteloso y sospechoso).

actualizando npm

Mi máquina de desarrollo tenía 6.8.0 así que agregué esto:

vars.yml:

versions:
  npm: "6.8.0"

playbook.yml:

- name: npm self-update
  command: npm install [email protected]{{ versions.npm }} -g

que me llevó todo el camino a:

[email protected]:~$ npm --version
6.8.0

La respuesta aceptada es buena, pero si lo desea, puede usar variables descubiertas para el nombre en clave de la distribución (a saber ansible_lsb.codename). Además, asegurándose de que gcc g++ make están instalados en la máquina host, lo que garantiza que los complementos nativos para nodejs funcionen correctamente.

Simplemente reemplace la versión del nodo 12 con lo que te gustaría.

---
- name: Install nodejs
  hosts: all
  become: true
  tasks:
    - name: install nodejs prerequisites
      apt:
        name:
          - apt-transport-https
          - gcc
          - g++
          - make
        state: present
    - name: add nodejs apt key
      apt_key:
        url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
        state: present
    - name: add nodejs repository
      apt_repository:
        repo: deb https://deb.nodesource.com/node_12.x {{ ansible_lsb.codename }} main
        state: present
        update_cache: yes
    - name: install nodejs
      apt:
        name: nodejs
        state: present
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *