89 lines
2.4 KiB
YAML
89 lines
2.4 KiB
YAML
- name: Install Node for Arch
|
|
block:
|
|
- name: Install Node deps for Arch
|
|
become: true
|
|
community.general.pacman:
|
|
name:
|
|
- curl
|
|
- base-devel
|
|
state: present
|
|
|
|
- name: Install Node for Arch
|
|
become: true
|
|
community.general.pacman:
|
|
name:
|
|
- nodejs
|
|
- npm
|
|
state: present
|
|
when: ansible_facts.distribution == 'Archlinux'
|
|
|
|
- name: Install Node for Debian based systems
|
|
block:
|
|
- name: Ensure node deps are installed for Debian based systems
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name:
|
|
- curl
|
|
- build-essential
|
|
state: present
|
|
|
|
- name: Check if Node source exists
|
|
ansible.builtin.stat:
|
|
path: /etc/apt/sources.list.d/nodesource.list
|
|
register: node_source_installed
|
|
changed_when: false
|
|
|
|
- name: Install Node source for Debian based systems
|
|
become: true
|
|
# noqa command-instead-of-module
|
|
ansible.builtin.shell: |
|
|
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
|
|
changed_when: false
|
|
when: not node_source_installed.stat.exists
|
|
|
|
- name: Install Node
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name:
|
|
- nodejs
|
|
state: present
|
|
when: ansible_facts.os_family == 'Debian'
|
|
|
|
- name: Install Node for RedHat based systems
|
|
block:
|
|
- name: Ensure node deps are installed for RedHat based systems
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- curl
|
|
- "@Development Tools"
|
|
state: present
|
|
|
|
- name: Check if Node source is installed
|
|
ansible.builtin.shell: |
|
|
dnf repolist | grep nodesource
|
|
register: node_source_installed
|
|
changed_when: false
|
|
failed_when: node_source_installed.rc > 1
|
|
|
|
- name: Install Node source for RedHat based systems
|
|
# noqa command-instead-of-module
|
|
ansible.builtin.shell: |
|
|
curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -
|
|
changed_when: false
|
|
when: node_source_installed.rc != 0
|
|
|
|
- name: Install Node for RedHat based systems
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name: nodejs
|
|
state: present
|
|
when: ansible_facts.os_family == 'RedHat'
|
|
|
|
- name: Install Node for MacOS
|
|
community.general.homebrew:
|
|
name:
|
|
- node
|
|
state: present
|
|
when: ansible_facts.distribution == 'MacOSX'
|