Newer
Older
- name: Set up the Nodesource RPM directory
ansible.builtin.set_fact:
nodejs_rhel_rpm_dir: "pub_{{ nodejs_version }}"
rhel_distribution_major_version: 7
- name: Set up the Nodesource RPM directory
ansible.builtin.set_fact:
rhel_distribution_major_version: "{{ ansible_distribution_major_version }}"
when: ansible_distribution_major_version | int >= 8
- name: Import Nodesource RPM key
key: https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL
state: present
- name: Add Nodesource repositories for Node.js
name: "https://rpm.nodesource.com/{{ nodejs_rhel_rpm_dir }}/el/{{ rhel_distribution_major_version }}/{{ ansible_architecture }}/nodesource-release-el{{ rhel_distribution_major_version }}-1.noarch.rpm"
state: present
- name: Ensure Node.js AppStream module is disabled (CentOS 8+)
ansible.builtin.command: yum module disable -y nodejs
args:
warn: false
register: module_disable
changed_when: "'Nothing to do.' not in module_disable.stdout"
when: ansible_distribution_major_version | int >= 8
- name: Ensure Node.js and npm are installed
ansible.builtin.yum:
name: "nodejs-{{ nodejs_version | regex_replace('x', '') }}*"
state: present
enablerepo: nodesource
become: true
- name: Install yarn
community.general.npm:
name: yarn
global: yes
become: true