web-dev-qa-db-fra.com

Installation de NodeJS LTS pour Ansible

Je recherche un rôle Ansible approprié ou un fichier YAML Ansible pour installer NodeJS LTS sur un système xenial Ubuntu 16.04.3. J'ai essayé plus de 10 rôles Ansible de Galaxy mais je n'ai trouvé aucun d'eux fonctionnant (jette une erreur telle que potentially dangerous to add this PPA etc..

Quelqu'un peut-il fournir un playbook Ansible ou me suggérer un rôle pour installer NodeJS LTS sur Ubuntu 16.04?

10
Janshair Khan

Voici l'exemple de travail:

---
- 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

J'espère que cela vous aidera

16
Arbab Nazar

Non pas que je sois vraiment content d'avoir dû faire ça, mais ...

( env: Ubuntu 18.04, ansible 2.6.1, hôte: 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

résultat:

> vagrant@vagrant:~$ node --version
v10.15.2

et npm doit également être venu:

vagrant@vagrant:~$ npm --version
6.4.1

Au moment où j'ai exécuté ceci, https://www.npmjs.com/package/npm montrait 6.8.0 comme dernière, avec 6.4.1 datant de 6 mois avant. Node affichait 10.15.2 comme le dernier de la série 10.x, datant de 5 jours avant.

btw, j'ai aussi essayé apt-get mais qui s'est terminé par le noeud 8.x plutôt que 10.x

Et la raison pour laquelle je n'ai pas utilisé un rôle de galaxie ansible est que je n'ai vu aucun nœudjs qui semblait provenir d'auteurs bien connus et avec beaucoup d'étoiles et de téléchargements (je suis prudent et méfiant).

mise à jour npm

Ma machine de développement avait 6.8.0 j'ai donc ajouté ceci:

vars.yml :

versions:
  npm: "6.8.0"

playbook.yml :

- name: npm self-update
  command: npm install npm@{{ versions.npm }} -g

ce qui m'a permis de:

vagrant@vagrant:~$ npm --version
6.8.0
2
JL Peyret

Vous pouvez utiliser:

ansible-galaxy install nodesource.node

puis sur votre playbook, ajoutez roles: - nodesource.node

0
fritz_da_silva