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?
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
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).
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
Vous pouvez utiliser:
ansible-galaxy install nodesource.node
puis sur votre playbook, ajoutez roles: - nodesource.node