Dot_Files/tasks/install-node.yml

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'